UNPKG

@auth0/nextjs-auth0

Version:
43 lines (42 loc) 1.38 kB
export const LEGACY_COOKIE_NAME = "appSession"; /** * The user's session. */ export class LegacySession { constructor(user) { this.user = user; } } export function normalizeStatelessSession(sessionCookie) { // if the session cookie has an `iat` claim in the protected header, it's a legacy cookie // otherwise, it's the new session cookie format and no transformation is needed if (sessionCookie.protectedHeader.iat) { const legacySession = sessionCookie; return convertFromLegacy(legacySession.protectedHeader, legacySession.payload); } return sessionCookie.payload; } export function normalizeStatefulSession(sessionData) { if (sessionData.header?.iat) { const legacySession = sessionData; return convertFromLegacy(legacySession.header, legacySession.data); } return sessionData; } function convertFromLegacy(header, session) { const userClaims = session.user; return { user: userClaims, tokenSet: { idToken: session.idToken ?? undefined, accessToken: session.accessToken ?? undefined, scope: session.accessTokenScope, refreshToken: session.refreshToken, expiresAt: session.accessTokenExpiresAt }, internal: { sid: userClaims.sid, createdAt: header.iat } }; }