fix: callback 使用 OIDC_REDIRECT_URI 构造公共 URL(LESSONS-LEARNED #16)

This commit is contained in:
aiyimickey 2026-07-01 22:23:20 +08:00
parent 5af5ff7c0f
commit e6712a1e99
1 changed files with 3 additions and 5 deletions

View File

@ -74,12 +74,10 @@ export async function GET(request: NextRequest) {
payload: { username: userinfo.preferred_username, displayName: userinfo.name, role: user.role }, payload: { username: userinfo.preferred_username, displayName: userinfo.name, role: user.role },
}) })
// 使用 nginx 转发的 Host 头构造正确的公共 URL // 使用 OIDC_REDIRECT_URI 构造公共 URLLESSONS-LEARNED #16
const proto = request.headers.get('x-forwarded-proto') || 'http' const baseUrl = authConfig.oidcRedirectUri?.replace(/\/api\/auth\/callback.*/, '') || 'http://localhost:6181'
const host = request.headers.get('x-forwarded-host') || request.headers.get('host') || request.nextUrl.host
const publicUrl = `${proto}://${host}`
const response = NextResponse.redirect(new URL('/', publicUrl)) const response = NextResponse.redirect(new URL('/', baseUrl))
// 签发 tlyq_session cookie // 签发 tlyq_session cookie
response.cookies.set('tlyq_session', token, { response.cookies.set('tlyq_session', token, {