UNPKG

cf-auth0

Version:

🔐 Auth0 Client on Cloudflare Pages

16 lines (15 loc) 665 B
import { jwa } from '../jwa'; import { toString } from './tostring'; const securedInputFromJWS = (jwsSig) => jwsSig.split('.', 2).join('.'); const signatureFromJWS = (jwsSig) => jwsSig.split('.')[2]; export const jwsVerify = async (jwsSig, algorithm, secretOrKey) => { if (!algorithm) { throw new Error('[MISSING_ALGORITHM]: Missing algorithm parameter for jws.verify'); } jwsSig = toString(jwsSig); const signature = signatureFromJWS(jwsSig); const securedInput = securedInputFromJWS(jwsSig); const algo = jwa(algorithm); // @ts-expect-error TODO: fix this return await algo.verify(securedInput, signature, secretOrKey); };