From 65cccb96200980784f06c8ea6a540bf896526aa3 Mon Sep 17 00:00:00 2001 From: qpismont Date: Mon, 1 Jul 2024 21:58:06 +0200 Subject: [PATCH] adding middleware --- astro.config.mjs | 1 + biome.json | 2 +- bun.lockb | Bin 281962 -> 232793 bytes package.json | 14 +++++----- src/components/Header.astro | 3 +++ src/components/forms/LoginFormData.tsx | 6 +++-- src/layouts/HomeLayout.astro | 24 ++++++++++++----- src/middleware.ts | 25 ++++++++++-------- src/pages/api/accounts/login.ts | 28 ++++++++++++++++++++ src/pages/home/index.astro | 2 +- src/pages/home/settings/account.astro | 0 src/pages/home/settings/accounts.astro | 0 src/pages/home/settings/index.astro | 34 +++++++++++++++++++++++++ src/pages/home/settings/movies.astro | 0 src/pages/logout.astro | 4 +++ 15 files changed, 115 insertions(+), 28 deletions(-) create mode 100644 src/components/Header.astro create mode 100644 src/pages/api/accounts/login.ts create mode 100644 src/pages/home/settings/account.astro create mode 100644 src/pages/home/settings/accounts.astro create mode 100644 src/pages/home/settings/index.astro create mode 100644 src/pages/home/settings/movies.astro create mode 100644 src/pages/logout.astro diff --git a/astro.config.mjs b/astro.config.mjs index ffde277..41abc79 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -3,6 +3,7 @@ import { defineConfig } from "astro/config"; import react from "@astrojs/react"; import node from "@astrojs/node"; +// https://astro.build/config export default defineConfig({ integrations: [react()], output: "server", diff --git a/biome.json b/biome.json index f8702e4..3867749 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json", + "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", "organizeImports": { "enabled": true }, diff --git a/bun.lockb b/bun.lockb index 5491c44aba2cc84461918350e75a0cf6827baa75..0661eb365bb852b915a963651d75b987bd1932f6 100755 GIT binary patch delta 56483 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 X=J9BCJxKkSXf>Ww^-%pg`lbI5h^$SJ diff --git a/package.json b/package.json index 77a3951..afc3877 100644 --- a/package.json +++ b/package.json @@ -4,24 +4,24 @@ "version": "0.0.1", "scripts": { "dev": "bunx --bun astro dev", - "start": "bunx --bun astro dev", "build": "rm -rf dist && bunx --bun astro check && bunx --bun astro build", "preview": "bunx --bun astro preview", "astro": "astro" }, "dependencies": { "@astrojs/check": "^0.7.0", - "@astrojs/node": "^8.2.5", - "@astrojs/react": "^3.4.0", - "@types/react": "^18.3.2", + "@astrojs/node": "^8.3.2", + "@astrojs/react": "^3.6.0", + "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "astro": "^4.9.1", + "astro": "^4.11.3", "bootstrap": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "typescript": "^5.3.3" + "react-icons": "^5.2.1", + "typescript": "^5.5.2" }, "devDependencies": { - "@biomejs/biome": "1.7.3" + "@biomejs/biome": "1.8.3" } } diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..91bf02b --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,3 @@ +

+ + diff --git a/src/components/forms/LoginFormData.tsx b/src/components/forms/LoginFormData.tsx index c72bcd5..13a6224 100644 --- a/src/components/forms/LoginFormData.tsx +++ b/src/components/forms/LoginFormData.tsx @@ -2,7 +2,9 @@ import LoginForm, { type LoginFormValue } from "./LoginForm"; export default function LoginFormData() { function handleOnFormSubmit(data: LoginFormValue) { - fetch(`${import.meta.env.PUBLIC_API_URL}/accounts/login`, { + const searchParams = new URLSearchParams(window.location.search); + + fetch("/api/accounts/login", { method: "POST", body: JSON.stringify(data), credentials: "include", @@ -13,7 +15,7 @@ export default function LoginFormData() { }) .then((res) => res.json()) .then((json) => { - window.location.href = "/home"; + window.location.href = searchParams.get("redirect") || "/home"; }) .catch((err) => console.log(err)); } diff --git a/src/layouts/HomeLayout.astro b/src/layouts/HomeLayout.astro index 0bf5bfb..54f5ebc 100644 --- a/src/layouts/HomeLayout.astro +++ b/src/layouts/HomeLayout.astro @@ -1,4 +1,5 @@ --- +import Header from "../components/Header.astro"; import RootLayout from "./RootLayout.astro"; interface Props { @@ -8,13 +9,11 @@ interface Props { const { title } = Astro.props; --- - +
-
Films
-
Compte
-
Deconnexion
+
- +
@@ -22,4 +21,17 @@ const { title } = Astro.props;
- + diff --git a/src/middleware.ts b/src/middleware.ts index 5edb62e..5ee1181 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -2,22 +2,25 @@ import { defineMiddleware, sequence } from "astro:middleware"; const protectedRoutes = defineMiddleware(async (ctx, next) => { const pathname = ctx.url.pathname; - if (!["/", "/register"].includes(pathname)) { - const jwt = ctx.cookies.get("token"); + if ( + !["/", "/register", "/logout"].includes(pathname) && + !pathname.startsWith("/api") + ) { + const jwt = ctx.cookies.get("jwt"); if (!jwt) { - return ctx.redirect("/"); + return ctx.redirect(`/?redirect=${pathname}`); } - const res = await fetch( - `${import.meta.env.PUBLIC_API_URL}/accounts/recovery`, - { - credentials: "include", - headers: ctx.request.headers, + const jwtValue = jwt.value; + const res = await fetch(`${import.meta.env.API_URL}/accounts/recovery`, { + credentials: "include", + headers: { + Authorization: `Bearer ${jwtValue}`, }, - ); + }); - if (res.status !== 201) { - return ctx.redirect("/"); + if (res.status !== 200) { + return ctx.redirect(`/?redirect=${pathname}`); } ctx.locals.account = JSON.parse(await res.text()).account; diff --git a/src/pages/api/accounts/login.ts b/src/pages/api/accounts/login.ts new file mode 100644 index 0000000..9917114 --- /dev/null +++ b/src/pages/api/accounts/login.ts @@ -0,0 +1,28 @@ +import type { APIRoute } from "astro"; + +export const POST: APIRoute = async ({ request, cookies }) => { + const reqBody = await request.text(); + if (!reqBody) throw new Error("body not found"); + + const res = await fetch(`${import.meta.env.API_URL}/accounts/login`, { + method: "POST", + body: reqBody, + headers: { + "Content-Type": "application/json", + }, + }); + + const resBody = await res.text(); + const resBodyJson = JSON.parse(resBody); + + if (res.status === 201 && resBodyJson?.jwt) { + cookies.set("jwt", resBodyJson.jwt, { + secure: true, + httpOnly: true, + path: "/", + sameSite: "strict", + }); + } + + return new Response(resBody, { status: res.status }); +}; diff --git a/src/pages/home/index.astro b/src/pages/home/index.astro index f38a8aa..3163211 100644 --- a/src/pages/home/index.astro +++ b/src/pages/home/index.astro @@ -4,6 +4,6 @@ import HomeLayout from "../../layouts/HomeLayout.astro"; const account = Astro.locals.account; --- - + Hello {account?.username} diff --git a/src/pages/home/settings/account.astro b/src/pages/home/settings/account.astro new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/home/settings/accounts.astro b/src/pages/home/settings/accounts.astro new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/home/settings/index.astro b/src/pages/home/settings/index.astro new file mode 100644 index 0000000..2925f80 --- /dev/null +++ b/src/pages/home/settings/index.astro @@ -0,0 +1,34 @@ +--- +import { + MdAccountBox, + MdAdminPanelSettings, + MdOutlineLocalMovies, +} from "react-icons/md"; + +import HomeLayout from "../../../layouts/HomeLayout.astro"; +--- + + + + diff --git a/src/pages/home/settings/movies.astro b/src/pages/home/settings/movies.astro new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/logout.astro b/src/pages/logout.astro new file mode 100644 index 0000000..aa5ad8d --- /dev/null +++ b/src/pages/logout.astro @@ -0,0 +1,4 @@ +--- +Astro.cookies.delete("jwt"); +return Astro.redirect("/"); +---