payload-zitadel-plugin
Version:
plugin for Payload CMS, which enables authentication via Zitadel IdP
16 lines (15 loc) • 899 B
JavaScript
import { NextResponse } from 'next/server.js';
import { AUTHORIZE_QUERY, ENDPOINT_PATHS, ROUTES } from '../constants.js';
import { createState, getState } from './state.js';
import { getAuthBaseURL } from './urls.js';
export const defaultRedirect = (req)=>NextResponse.redirect(req.payload.config.serverURL + (getState(req).redirect ?? ''));
export const requestRedirect = ({ req, issuerURL, clientId, invokedBy, codeChallenge })=>NextResponse.redirect(`${issuerURL}${ENDPOINT_PATHS[invokedBy]}?${new URLSearchParams({
client_id: clientId,
[`${invokedBy == 'authorize' ? '' : 'post_logout_'}redirect_uri`]: getAuthBaseURL(req.payload.config) + ROUTES.callback,
state: createState(req, invokedBy),
...invokedBy == 'authorize' ? {
code_challenge: codeChallenge,
...AUTHORIZE_QUERY
} : {}
})}`);
//# sourceMappingURL=redirects.js.map