chore: debug mfa login
This commit is contained in:
@@ -37,13 +37,17 @@ import type { MiddlewareMatcher } from "@/types/middleware"
|
||||
* https://authjs.dev/reference/nextjs
|
||||
*/
|
||||
export const middleware = auth(async (request) => {
|
||||
const { nextUrl } = request
|
||||
const lang = findLang(nextUrl.pathname)!
|
||||
console.log("[mwauth] start")
|
||||
console.log("[mwauth] request.nextUrl.origin", request.nextUrl.origin)
|
||||
console.log("[mwauth] request.nextUrl", request.nextUrl)
|
||||
console.log("[mwauth] request", request)
|
||||
const lang = findLang(request.nextUrl.pathname)!
|
||||
|
||||
const isLoggedIn = !!request.auth
|
||||
const hasError = request.auth?.error
|
||||
|
||||
const nextUrlPublic = getPublicNextURL(request)
|
||||
console.log("[mfa] nextUrlPublic", nextUrlPublic)
|
||||
|
||||
/**
|
||||
* Function to validate MFA from token data
|
||||
@@ -55,15 +59,15 @@ export const middleware = auth(async (request) => {
|
||||
: false
|
||||
return !(request.auth?.token.mfa_scope && isMFATokenValid)
|
||||
}
|
||||
const isMFAPath = mfaRequired.includes(nextUrl.pathname)
|
||||
const isMFAPath = mfaRequired.includes(request.nextUrl.pathname)
|
||||
|
||||
if (isLoggedIn && isMFAPath && isMFAInvalid()) {
|
||||
console.log("[mfa] required")
|
||||
const headers = new Headers(request.headers)
|
||||
headers.set("x-returnurl", nextUrlPublic.href)
|
||||
headers.set("x-login-source", "mfa")
|
||||
console.log("[mfa] nextUrlPublic", nextUrlPublic)
|
||||
console.log("[mfa] headers", headers)
|
||||
|
||||
console.log("[mfa] request.nextUrl", request.nextUrl)
|
||||
console.log("[mfa] request", request)
|
||||
|
||||
|
||||
@@ -9,6 +9,10 @@ import type { NextMiddleware } from "next/server"
|
||||
import type { MiddlewareMatcher } from "@/types/middleware"
|
||||
|
||||
export const middleware: NextMiddleware = (request) => {
|
||||
console.log("[updatelogin] start")
|
||||
console.log("[updatelogin] request.nextUrl.origin", request.nextUrl.origin)
|
||||
console.log("[updatelogin] request.nextUrl", request.nextUrl)
|
||||
console.log("[updatelogin] request", request)
|
||||
const returnUrl = request.nextUrl.searchParams.get("returnurl")
|
||||
|
||||
if (!returnUrl) {
|
||||
@@ -20,8 +24,14 @@ export const middleware: NextMiddleware = (request) => {
|
||||
const headers = new Headers(request.headers)
|
||||
headers.set("x-returnurl", returnUrl)
|
||||
headers.set("x-login-source", "seamless")
|
||||
console.log("[updatelogin] headers", headers)
|
||||
|
||||
return NextResponse.rewrite(new URL(`/${lang}/login`, request.nextUrl), {
|
||||
console.log("[updatelogin] request.nextUrl", request.nextUrl)
|
||||
console.log("[updatelogin] request", request)
|
||||
|
||||
const u = new URL(`/${lang}/login`, request.nextUrl)
|
||||
console.log("[updatelogin] rewrite url", u)
|
||||
return NextResponse.rewrite(u, {
|
||||
request: {
|
||||
headers,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user