18 lines
504 B
TypeScript
18 lines
504 B
TypeScript
import { LoaderFunctionArgs, data } from '@remix-run/node'
|
|
import { loadContext } from '~/utils/config/headplane'
|
|
import { finishOidc } from '~/utils/oidc'
|
|
|
|
export async function loader({ request }: LoaderFunctionArgs) {
|
|
try {
|
|
const context = await loadContext()
|
|
if (!context.oidc) {
|
|
throw new Error('An invalid OIDC configuration was provided')
|
|
}
|
|
|
|
return finishOidc(context.oidc, request)
|
|
} catch (error) {
|
|
// Gracefully present OIDC errors
|
|
return data({ error }, { status: 500 })
|
|
}
|
|
}
|