From 20ed4a819fc0c26803a15d0f614cfff4557a7d0c Mon Sep 17 00:00:00 2001 From: hamster1963 <1410514192@qq.com> Date: Sun, 20 Oct 2024 16:17:33 +0800 Subject: [PATCH] feat: set api auth --- app/[locale]/(main)/header.tsx | 8 +------- app/[locale]/(main)/layout.tsx | 7 ++++++- app/[locale]/(main)/page.tsx | 9 +-------- app/api/detail/route.ts | 3 ++- app/api/monitor/route.ts | 11 +++++++++-- app/api/server/route.ts | 10 ++++++++-- auth.ts | 6 ++++-- bun.lockb | Bin 453700 -> 453714 bytes next.config.mjs | 5 +++++ 9 files changed, 36 insertions(+), 23 deletions(-) diff --git a/app/[locale]/(main)/header.tsx b/app/[locale]/(main)/header.tsx index 47cf6e1..a7d9ec7 100644 --- a/app/[locale]/(main)/header.tsx +++ b/app/[locale]/(main)/header.tsx @@ -10,9 +10,8 @@ import { useLocale } from "next-intl"; import Image from "next/image"; import { useRouter } from "next/navigation"; import React, { useEffect, useRef, useState } from "react"; -import { auth } from "@/auth"; -async function Header() { +function Header() { const t = useTranslations("Header"); const customLogo = getEnv("NEXT_PUBLIC_CustomLogo"); const customTitle = getEnv("NEXT_PUBLIC_CustomTitle"); @@ -21,11 +20,6 @@ async function Header() { const router = useRouter(); const locale = useLocale(); - const session = await auth(); - - if (session) { - console.log(session); - } return (
diff --git a/app/[locale]/(main)/layout.tsx b/app/[locale]/(main)/layout.tsx index 84bd06e..4a1c101 100644 --- a/app/[locale]/(main)/layout.tsx +++ b/app/[locale]/(main)/layout.tsx @@ -1,11 +1,16 @@ import Footer from "@/app/[locale]/(main)/footer"; import Header from "@/app/[locale]/(main)/header"; +import { auth } from "@/auth"; +import { SignIn } from "@/components/sign-in"; import React from "react"; type DashboardProps = { children: React.ReactNode; }; -export default function MainLayout({ children }: DashboardProps) { +export default async function MainLayout({ children }: DashboardProps) { + const session = await auth() + if (!session) return + return (
diff --git a/app/[locale]/(main)/page.tsx b/app/[locale]/(main)/page.tsx index f0d48e0..0e568e6 100644 --- a/app/[locale]/(main)/page.tsx +++ b/app/[locale]/(main)/page.tsx @@ -1,21 +1,14 @@ -import { auth } from "@/auth"; import ServerList from "@/components/ServerList"; import ServerOverview from "@/components/ServerOverview"; -import { SignIn } from "@/components/sign-in"; import { unstable_setRequestLocale } from "next-intl/server"; -export default async function Home({ +export default function Home({ params: { locale }, }: { params: { locale: string }; }) { unstable_setRequestLocale(locale); - const session = await auth() - if (!session) return - - - return (
diff --git a/app/api/detail/route.ts b/app/api/detail/route.ts index c9a23ea..5361e90 100644 --- a/app/api/detail/route.ts +++ b/app/api/detail/route.ts @@ -12,8 +12,9 @@ interface NezhaDataResponse { export const GET = auth(async function GET(req) { - if (!req.auth) + if (!req.auth) { return NextResponse.json({ message: "Not authenticated" }, { status: 401 }); + } const { searchParams } = new URL(req.url); const server_id = searchParams.get("server_id"); diff --git a/app/api/monitor/route.ts b/app/api/monitor/route.ts index e03fe89..9a7f17c 100644 --- a/app/api/monitor/route.ts +++ b/app/api/monitor/route.ts @@ -1,4 +1,5 @@ import { ServerMonitorChart } from "@/app/[locale]/types/nezha-api"; +import { auth } from "@/auth"; import { GetServerMonitor } from "@/lib/serverFetch"; import { NextResponse } from "next/server"; @@ -9,7 +10,13 @@ interface NezhaDataResponse { data?: ServerMonitorChart; } -export async function GET(req: Request) { +export const GET = auth(async function GET(req) { + + if (!req.auth) { + return NextResponse.json({ message: "Not authenticated" }, { status: 401 }); + } + + const { searchParams } = new URL(req.url); const server_id = searchParams.get("server_id"); if (!server_id) { @@ -26,4 +33,4 @@ export async function GET(req: Request) { return NextResponse.json({ error: response.error }, { status: 400 }); } return NextResponse.json(response, { status: 200 }); -} +}); diff --git a/app/api/server/route.ts b/app/api/server/route.ts index e34a83c..7a6176a 100644 --- a/app/api/server/route.ts +++ b/app/api/server/route.ts @@ -1,4 +1,5 @@ import { ServerApi } from "@/app/[locale]/types/nezha-api"; +import { auth } from "@/auth"; import { GetNezhaData } from "@/lib/serverFetch"; import { NextResponse } from "next/server"; @@ -9,11 +10,16 @@ interface NezhaDataResponse { data?: ServerApi; } -export async function GET(_: Request) { +export const GET = auth(async function GET(req) { + + if (!req.auth) { + return NextResponse.json({ message: "Not authenticated" }, { status: 401 }); + } + const response = (await GetNezhaData()) as NezhaDataResponse; if (response.error) { console.log(response.error); return NextResponse.json({ error: response.error }, { status: 400 }); } return NextResponse.json(response, { status: 200 }); -} +}); diff --git a/auth.ts b/auth.ts index a912a4e..a908388 100644 --- a/auth.ts +++ b/auth.ts @@ -1,15 +1,17 @@ import NextAuth from "next-auth" import Credentials from "next-auth/providers/credentials" +import getEnv from "./lib/env-entry" export const { handlers, signIn, signOut, auth } = NextAuth({ + secret:"this_is_nezha_dash_web_secret", providers: [ Credentials({ credentials: { password: {}, }, authorize: async (credentials) => { - if (credentials.password === "123456") { - return { id: "1", name: "John Doe" } + if (credentials.password === getEnv("SITE_PASSWORD")) { + return { id: "0" } } return null }, diff --git a/bun.lockb b/bun.lockb index 6cbf07db8a71c50c2566dd08c4ec9fcbd9568019..a0f7e64cf96016144ff8bdfc5de83e4724cf553a 100755 GIT binary patch delta 43420 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 i&Qxuc4T delta 43369 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 DbaW=X diff --git a/next.config.mjs b/next.config.mjs index 86bfbf5..5713407 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -23,6 +23,11 @@ const withPWA = withPWAInit({ const nextConfig = { output: "standalone", reactStrictMode: true, + experimental: { + serverActions: { + allowedOrigins: ['*'], + }, + }, logging: { fetches: { fullUrl: true,