UNPKG

payload-zitadel-plugin

Version:

plugin for Payload CMS, which enables authentication via Zitadel IdP

22 lines (21 loc) 841 B
import { cookies } from 'next/headers.js'; import { COOKIES } from '../constants.js'; import { requestRedirect } from '../utils/index.js'; export const authorize = ({ issuerURL, clientId })=>async (req)=>{ const codeVerifier = Buffer.from(crypto.getRandomValues(new Uint8Array(24))).toString('base64url'); const codeChallenge = Buffer.from(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(codeVerifier))).toString('base64url'); const cookieStore = await cookies(); cookieStore.set({ ...COOKIES.pkce, value: codeVerifier, maxAge: 300 }); return requestRedirect({ req, issuerURL, clientId, invokedBy: 'authorize', codeChallenge }); }; //# sourceMappingURL=authorize.js.map