fix: callback 使用 OIDC_REDIRECT_URI 构造公共 URL(LESSONS-LEARNED #16)
This commit is contained in:
parent
5af5ff7c0f
commit
e6712a1e99
|
|
@ -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 构造公共 URL(LESSONS-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, {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue