Middleware and iframe updates

This commit is contained in:
Darren Clarke 2023-03-01 11:02:15 +00:00
parent d7624d723f
commit ba04aa108c
29 changed files with 69 additions and 4128 deletions

View file

@ -1,45 +0,0 @@
// middleware.ts
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
import { withAuth } from "next-auth/middleware"
export default withAuth((request: NextRequest) => {
if (request.nextUrl.pathname.startsWith('/login')) {
return NextResponse.next()
}
// @ts-expect-error
if (!request.nextauth.token) {
return NextResponse.redirect("/login")
}
// @ts-expect-error
console.log({ token: request.nextauth.token })
console.log("INTO middleware")
const path = request.nextUrl.pathname
console.log({ path })
const zammadPaths = ['/zammad', '/assets', '/api/v1', '/auth/sso', '/ws'];
if (zammadPaths.some((p) => path.startsWith(p))) {
console.log("MATCHED ZAMMAD PATH")
const finalURL = new URL(path.replace("/zammad", ""), process.env.ZAMMAD_URL)
console.log(finalURL.toString())
const requestHeaders = new Headers(request.headers)
// @ts-expect-error
requestHeaders.set('X-Forwarded-User', request.nextauth.token?.email)
requestHeaders.set('Host', 'zammad.example.com')
console.log(requestHeaders)
return NextResponse.rewrite(finalURL, {
request: {
headers: requestHeaders
}
})
} else {
console.log("DID NOT MATCH ZAMMAD PATH")
return NextResponse.next()
}
}, {
pages: {
signIn: '/login',
}
})