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