From 9017e6a0b7b7073c1d64510be855d5b541604910 Mon Sep 17 00:00:00 2001 From: sijinhui Date: Mon, 29 Apr 2024 13:41:29 +0800 Subject: [PATCH] fix build error --- lib/auth.ts | 13 +------------ lib/auth_client.ts | 2 +- lib/auth_list.ts | 6 ------ middleware.ts | 11 ++++++++--- 4 files changed, 10 insertions(+), 22 deletions(-) diff --git a/lib/auth.ts b/lib/auth.ts index f0e5f32c4..9f18f918e 100644 --- a/lib/auth.ts +++ b/lib/auth.ts @@ -5,7 +5,7 @@ import CredentialsProvider from "next-auth/providers/credentials"; import {PrismaAdapter} from "@next-auth/prisma-adapter"; import prisma from "@/lib/prisma"; import { User } from "@prisma/client"; -import {ADMIN_LIST, isEmail, isName} from "@/lib/auth_list"; +import { isEmail, isName } from "@/lib/auth_list"; import {createTransport} from "nodemailer"; import { comparePassword, hashPassword } from "@/lib/utils"; import {getCurStartEnd} from "@/app/utils/custom"; @@ -194,17 +194,6 @@ export async function getSessionName() { } } -export async function VerifiedUser() { - const { name, session } = await getSessionName(); - const userId = session?.user?.id - return !!(name && isName(name) && userId); -} - -export async function VerifiedAdminUser() { - const { name, session } = await getSessionName(); - return !!(name && ADMIN_LIST.includes(name)); -} - export function validatePassword(password: string, hashPassword: string | null | undefined ): boolean | void { if (!hashPassword) { throw new Error("未设置密码"); diff --git a/lib/auth_client.ts b/lib/auth_client.ts index e129b56f6..a80c8f474 100644 --- a/lib/auth_client.ts +++ b/lib/auth_client.ts @@ -1,4 +1,4 @@ -import {ADMIN_LIST, isName} from "@/lib/auth_list"; +import { isName } from "@/lib/auth_list"; import { JWT } from "next-auth/jwt"; import { User } from "@prisma/client"; diff --git a/lib/auth_list.ts b/lib/auth_list.ts index 97eafa3e0..09d8d4450 100644 --- a/lib/auth_list.ts +++ b/lib/auth_list.ts @@ -4,12 +4,6 @@ export const DENY_LIST: string[] = [ "suibian", "某某", "张三", "李四", "啊实打实", "官方回复电话", "笑死", "观化听风", "null", "undefined", "zhangsan", ] -export const ADMIN_LIST: string[] = [ - "sijinhui", "sijinhui@qq.com", - "yuchuan", "于川", - "jujujujuju", -] - export function isEmail(input: string): boolean { const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; diff --git a/middleware.ts b/middleware.ts index 985b3b26e..35c770741 100644 --- a/middleware.ts +++ b/middleware.ts @@ -1,8 +1,13 @@ import { NextResponse } from "next/server"; import type { NextRequest } from "next/server"; import { getToken } from "next-auth/jwt"; -// import { isName, ADMIN_LIST } from "@/lib/auth_list"; import { VerifiedUser, VerifiedAdminUser } from "@/lib/auth_client"; +import { JWT } from "next-auth/jwt"; +import { User } from "@prisma/client"; + +type CUS_JWT = JWT & { + user: User, +} export default async function middleware(req: NextRequest) { const url = req.nextUrl; @@ -17,8 +22,8 @@ export default async function middleware(req: NextRequest) { const session = await getToken({ req }); - const isUser = await VerifiedUser(session); - const isAdminUser = await VerifiedAdminUser(session); + const isUser = await VerifiedUser(session as CUS_JWT); + const isAdminUser = await VerifiedAdminUser(session as CUS_JWT); // console.log('----session', session, '---isUser', isUser, '---isAdmin', isAdminUser) // 管理员页面的api接口还是要认证的 if (path.startsWith('/api/admin/')) {