UNPKG

@pedwise/next-firebase-auth-edge

Version:

Next.js 13 Firebase Authentication for Edge and server runtimes. Dedicated for Next 13 server components. Compatible with Next.js middleware.

30 lines (24 loc) 713 B
import { base64StringToObject } from "./utils"; import { DecodedJWTHeader, DecodedJWTPayload } from "./types"; export type DecodeOptions = { readonly complete?: boolean; }; export type DecodedJWT = { header: DecodedJWTHeader; payload: DecodedJWTPayload; signature: string; }; export function decode( jwt: string, { complete = false }: DecodeOptions = {} ): DecodedJWT | DecodedJWTPayload { const [encodedHeader, encodedPayload, signature] = jwt.split("."); const payload = base64StringToObject(encodedPayload) as DecodedJWTPayload; return complete ? { header: base64StringToObject(encodedHeader) as DecodedJWTHeader, payload, signature, } : payload; }