fix(auth): migrate from next-auth to better-auth (#1453)

This commit is contained in:
dancer 2026-03-13 23:18:01 +00:00 committed by GitHub
parent 453f5bb3e6
commit b4f595a68c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
40 changed files with 668 additions and 390 deletions

View file

@ -1,8 +1,7 @@
import { getSessionCookie } from "better-auth/cookies";
import { type NextRequest, NextResponse } from "next/server";
import { getToken } from "next-auth/jwt";
import { guestRegex, isDevelopmentEnvironment } from "./lib/constants";
export async function proxy(request: NextRequest) {
export function proxy(request: NextRequest) {
const { pathname } = request.nextUrl;
/*
@ -17,24 +16,9 @@ export async function proxy(request: NextRequest) {
return NextResponse.next();
}
const token = await getToken({
req: request,
secret: process.env.AUTH_SECRET,
secureCookie: !isDevelopmentEnvironment,
});
const sessionCookie = getSessionCookie(request);
if (!token) {
const redirectUrl = encodeURIComponent(request.url);
const url = request.nextUrl.clone();
url.pathname = "/api/auth/guest";
url.search = `?redirectUrl=${redirectUrl}`;
return NextResponse.redirect(url);
}
const isGuest = guestRegex.test(token?.email ?? "");
if (token && !isGuest && ["/login", "/register"].includes(pathname)) {
if (sessionCookie && ["/login", "/register"].includes(pathname)) {
const url = request.nextUrl.clone();
url.pathname = "/";
return NextResponse.redirect(url);