feat: SW-162 Optimized code and updated scope

This commit is contained in:
Hrishikesh Vaipurkar
2024-07-16 16:06:09 +02:00
parent dde2b828cb
commit 77feefb1dd

View File

@@ -14,34 +14,26 @@ export async function GET(
let redirectHeaders: Headers | undefined = undefined let redirectHeaders: Headers | undefined = undefined
let redirectTo: string let redirectTo: string
const returnUrl = request.headers.get("x-returnurl") redirectTo =
request.cookies.get("redirectTo")?.value || // Cookie gets set by authRequired middleware
request.nextUrl.searchParams.get("redirectTo") ||
"/"
if (returnUrl) { // Make relative URL to absolute URL
// Seamless login request from Current web if (redirectTo.startsWith("/")) {
redirectTo = returnUrl if (!env.PUBLIC_URL) {
} else { throw internalServerError("No value for env.PUBLIC_URL")
// Normal login request from New web
redirectTo =
request.cookies.get("redirectTo")?.value || // Cookie gets set by authRequired middleware
request.nextUrl.searchParams.get("redirectTo") ||
"/"
// Make relative URL to absolute URL
if (redirectTo.startsWith("/")) {
if (!env.PUBLIC_URL) {
throw internalServerError("No value for env.PUBLIC_URL")
}
redirectTo = new URL(redirectTo, env.PUBLIC_URL).href
} }
redirectTo = new URL(redirectTo, env.PUBLIC_URL).href
// Clean up cookie from authRequired middleware
redirectHeaders = new Headers()
redirectHeaders.append(
"set-cookie",
"redirectTo=; Expires=Thu, 01 Jan 1970 00:00:00 UTC; Path=/; HttpOnly; SameSite=Lax"
)
} }
// Clean up cookie from authRequired middleware
redirectHeaders = new Headers()
redirectHeaders.append(
"set-cookie",
"redirectTo=; Expires=Thu, 01 Jan 1970 00:00:00 UTC; Path=/; HttpOnly; SameSite=Lax"
)
try { try {
/** /**
* Passing `redirect: false` to `signIn` will return the URL instead of * Passing `redirect: false` to `signIn` will return the URL instead of
@@ -56,7 +48,7 @@ export async function GET(
}, },
{ {
ui_locales: context.params.lang, ui_locales: context.params.lang,
scope: "profile_update openid", scope: "profile_update openid profile",
// The below acr value is required as for New Web same Curity Client is used for MFA // The below acr value is required as for New Web same Curity Client is used for MFA
// while in current web it is being setup using different Curity Client ID and secret // while in current web it is being setup using different Curity Client ID and secret
acr_values: acr_values: