/
opt
/
canhelp
/
node_modules
/
jose
/
dist
/
webapi
/
jwt
/
/opt/canhelp/node_modules/jose/dist/webapi/jwt
mkdir
upload
Name
Size
Mode
Actions
decrypt.js
1285
0644
edit
dl
rm
encrypt.js
3087
0644
edit
dl
rm
sign.js
1455
0644
edit
dl
rm
unsecured.js
1903
0644
edit
dl
rm
verify.js
737
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/jose/dist/webapi/jwt/unsecured.js
(1903B)
import * as b64u from '../util/base64url.js'; import { decoder } from '../lib/buffer_utils.js'; import { JWTInvalid } from '../util/errors.js'; import { validateClaimsSet, JWTClaimsBuilder } from '../lib/jwt_claims_set.js'; export class UnsecuredJWT { #jwt; constructor(payload = {}) { this.#jwt = new JWTClaimsBuilder(payload); } encode() { const header = b64u.encode(JSON.stringify({ alg: 'none' })); const payload = b64u.encode(this.#jwt.data()); return `${header}.${payload}.`; } setIssuer(issuer) { this.#jwt.iss = issuer; return this; } setSubject(subject) { this.#jwt.sub = subject; return this; } setAudience(audience) { this.#jwt.aud = audience; return this; } setJti(jwtId) { this.#jwt.jti = jwtId; return this; } setNotBefore(input) { this.#jwt.nbf = input; return this; } setExpirationTime(input) { this.#jwt.exp = input; return this; } setIssuedAt(input) { this.#jwt.iat = input; return this; } static decode(jwt, options) { if (typeof jwt !== 'string') { throw new JWTInvalid('Unsecured JWT must be a string'); } const { 0: encodedHeader, 1: encodedPayload, 2: signature, length } = jwt.split('.'); if (length !== 3 || signature !== '') { throw new JWTInvalid('Invalid Unsecured JWT'); } let header; try { header = JSON.parse(decoder.decode(b64u.decode(encodedHeader))); if (header.alg !== 'none') throw new Error(); } catch { throw new JWTInvalid('Invalid Unsecured JWT'); } const payload = validateClaimsSet(header, b64u.decode(encodedPayload), options); return { payload, header }; } }
Save
cmd:
run