payloadcms_otp_plugin
Version:
A comprehensive One-Time Password (OTP) authentication plugin for Payload CMS that enables secure passwordless authentication via SMS and email
24 lines (23 loc) • 1.09 kB
JavaScript
import { cookies as getCookies } from 'next/headers.js';
import { generatePayloadCookie } from 'payload';
export async function setPayloadAuthCookie({ cookieName, authConfig, cookiePrefix, token }) {
const cookies = await getCookies();
const cookieExpiration = authConfig.tokenExpiration ? new Date(Date.now() + authConfig.tokenExpiration) : undefined;
const payloadCookie = generatePayloadCookie({
collectionAuthConfig: authConfig,
cookiePrefix,
expires: cookieExpiration,
returnCookieAsObject: true,
token
});
if (payloadCookie.value) {
cookies.set(cookieName ?? payloadCookie.name, payloadCookie.value, {
domain: authConfig.cookies.domain,
expires: payloadCookie.expires ? new Date(payloadCookie.expires) : undefined,
httpOnly: true,
sameSite: typeof authConfig.cookies.sameSite === 'string' ? authConfig.cookies.sameSite.toLowerCase() : 'lax',
secure: authConfig.cookies.secure || false
});
}
}
//# sourceMappingURL=setPayloadAuthCookie.js.map