修复登录缺陷和用户信息展示部分
This commit is contained in:
20
src/proxy.ts
20
src/proxy.ts
@@ -19,22 +19,28 @@ export async function proxy(request: NextRequest) {
|
||||
|
||||
// 刷新访问令牌
|
||||
try {
|
||||
const accessToken = request.cookies.get("auth_token")
|
||||
const refreshToken = request.cookies.get("auth_refresh")
|
||||
const accessToken = request.cookies.get("admin/auth_token")
|
||||
const refreshToken = request.cookies.get("admin/auth_refresh")
|
||||
if (!accessToken && !!refreshToken) {
|
||||
console.log("💡 refresh token")
|
||||
const token = await refreshAuth()
|
||||
request.cookies.set("auth_token", token.access_token)
|
||||
request.cookies.set("auth_refresh", token.refresh_token)
|
||||
request.cookies.set("admin/auth_token", token.access_token)
|
||||
request.cookies.set("admin/auth_refresh", token.refresh_token)
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("刷新访问令牌失败", request.url, (e as Error).message)
|
||||
}
|
||||
|
||||
// 验证访问令牌
|
||||
const hasToken = !!request.cookies.get("auth_token")
|
||||
const isToAdmin = request.nextUrl.pathname.startsWith("/admin")
|
||||
if (!hasToken && isToAdmin) {
|
||||
const hasToken = !!request.cookies.get("admin/auth_token")
|
||||
// const isToAdmin = request.nextUrl.pathname.startsWith("/admin")
|
||||
const protectedPaths = ["/", "/admin"]
|
||||
const isProtectedPath = protectedPaths.some(
|
||||
path =>
|
||||
request.nextUrl.pathname === path ||
|
||||
request.nextUrl.pathname.startsWith(`${path}/`),
|
||||
)
|
||||
if (!hasToken && isProtectedPath) {
|
||||
return NextResponse.redirect(
|
||||
`${request.nextUrl.origin}/login?redirect=${request.nextUrl.pathname}`,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user