headplane/app/routes/auth/oidc-callback.ts
2024-12-08 13:27:51 -05:00

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