chore: debug mfa login

This commit is contained in:
Michael Zetterberg
2024-10-16 18:46:30 +02:00
parent 74c2a9d1e1
commit 670778864e
2 changed files with 19 additions and 5 deletions

View File

@@ -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)

View File

@@ -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,
},