initial commit
This commit is contained in:
3
server/node_modules/jose/dist/node/esm/util/base64url.js
generated
vendored
Normal file
3
server/node_modules/jose/dist/node/esm/util/base64url.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import * as base64url from '../runtime/base64url.js';
|
||||
export const encode = base64url.encode;
|
||||
export const decode = base64url.decode;
|
||||
32
server/node_modules/jose/dist/node/esm/util/decode_jwt.js
generated
vendored
Normal file
32
server/node_modules/jose/dist/node/esm/util/decode_jwt.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import { decode as base64url } from './base64url.js';
|
||||
import { decoder } from '../lib/buffer_utils.js';
|
||||
import isObject from '../lib/is_object.js';
|
||||
import { JWTInvalid } from './errors.js';
|
||||
export function decodeJwt(jwt) {
|
||||
if (typeof jwt !== 'string')
|
||||
throw new JWTInvalid('JWTs must use Compact JWS serialization, JWT must be a string');
|
||||
const { 1: payload, length } = jwt.split('.');
|
||||
if (length === 5)
|
||||
throw new JWTInvalid('Only JWTs using Compact JWS serialization can be decoded');
|
||||
if (length !== 3)
|
||||
throw new JWTInvalid('Invalid JWT');
|
||||
if (!payload)
|
||||
throw new JWTInvalid('JWTs must contain a payload');
|
||||
let decoded;
|
||||
try {
|
||||
decoded = base64url(payload);
|
||||
}
|
||||
catch {
|
||||
throw new JWTInvalid('Failed to base64url decode the payload');
|
||||
}
|
||||
let result;
|
||||
try {
|
||||
result = JSON.parse(decoder.decode(decoded));
|
||||
}
|
||||
catch {
|
||||
throw new JWTInvalid('Failed to parse the decoded payload as JSON');
|
||||
}
|
||||
if (!isObject(result))
|
||||
throw new JWTInvalid('Invalid JWT Claims Set');
|
||||
return result;
|
||||
}
|
||||
34
server/node_modules/jose/dist/node/esm/util/decode_protected_header.js
generated
vendored
Normal file
34
server/node_modules/jose/dist/node/esm/util/decode_protected_header.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
import { decode as base64url } from './base64url.js';
|
||||
import { decoder } from '../lib/buffer_utils.js';
|
||||
import isObject from '../lib/is_object.js';
|
||||
export function decodeProtectedHeader(token) {
|
||||
let protectedB64u;
|
||||
if (typeof token === 'string') {
|
||||
const parts = token.split('.');
|
||||
if (parts.length === 3 || parts.length === 5) {
|
||||
;
|
||||
[protectedB64u] = parts;
|
||||
}
|
||||
}
|
||||
else if (typeof token === 'object' && token) {
|
||||
if ('protected' in token) {
|
||||
protectedB64u = token.protected;
|
||||
}
|
||||
else {
|
||||
throw new TypeError('Token does not contain a Protected Header');
|
||||
}
|
||||
}
|
||||
try {
|
||||
if (typeof protectedB64u !== 'string' || !protectedB64u) {
|
||||
throw new Error();
|
||||
}
|
||||
const result = JSON.parse(decoder.decode(base64url(protectedB64u)));
|
||||
if (!isObject(result)) {
|
||||
throw new Error();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch {
|
||||
throw new TypeError('Invalid Token or Protected Header formatting');
|
||||
}
|
||||
}
|
||||
158
server/node_modules/jose/dist/node/esm/util/errors.js
generated
vendored
Normal file
158
server/node_modules/jose/dist/node/esm/util/errors.js
generated
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
export class JOSEError extends Error {
|
||||
static get code() {
|
||||
return 'ERR_JOSE_GENERIC';
|
||||
}
|
||||
constructor(message) {
|
||||
var _a;
|
||||
super(message);
|
||||
this.code = 'ERR_JOSE_GENERIC';
|
||||
this.name = this.constructor.name;
|
||||
(_a = Error.captureStackTrace) === null || _a === void 0 ? void 0 : _a.call(Error, this, this.constructor);
|
||||
}
|
||||
}
|
||||
export class JWTClaimValidationFailed extends JOSEError {
|
||||
static get code() {
|
||||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED';
|
||||
}
|
||||
constructor(message, claim = 'unspecified', reason = 'unspecified') {
|
||||
super(message);
|
||||
this.code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';
|
||||
this.claim = claim;
|
||||
this.reason = reason;
|
||||
}
|
||||
}
|
||||
export class JWTExpired extends JOSEError {
|
||||
static get code() {
|
||||
return 'ERR_JWT_EXPIRED';
|
||||
}
|
||||
constructor(message, claim = 'unspecified', reason = 'unspecified') {
|
||||
super(message);
|
||||
this.code = 'ERR_JWT_EXPIRED';
|
||||
this.claim = claim;
|
||||
this.reason = reason;
|
||||
}
|
||||
}
|
||||
export class JOSEAlgNotAllowed extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JOSE_ALG_NOT_ALLOWED';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JOSE_ALG_NOT_ALLOWED';
|
||||
}
|
||||
}
|
||||
export class JOSENotSupported extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JOSE_NOT_SUPPORTED';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JOSE_NOT_SUPPORTED';
|
||||
}
|
||||
}
|
||||
export class JWEDecryptionFailed extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWE_DECRYPTION_FAILED';
|
||||
this.message = 'decryption operation failed';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWE_DECRYPTION_FAILED';
|
||||
}
|
||||
}
|
||||
export class JWEDecompressionFailed extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWE_DECOMPRESSION_FAILED';
|
||||
this.message = 'decompression operation failed';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWE_DECOMPRESSION_FAILED';
|
||||
}
|
||||
}
|
||||
export class JWEInvalid extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWE_INVALID';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWE_INVALID';
|
||||
}
|
||||
}
|
||||
export class JWSInvalid extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWS_INVALID';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWS_INVALID';
|
||||
}
|
||||
}
|
||||
export class JWTInvalid extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWT_INVALID';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWT_INVALID';
|
||||
}
|
||||
}
|
||||
export class JWKInvalid extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWK_INVALID';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWK_INVALID';
|
||||
}
|
||||
}
|
||||
export class JWKSInvalid extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWKS_INVALID';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWKS_INVALID';
|
||||
}
|
||||
}
|
||||
export class JWKSNoMatchingKey extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWKS_NO_MATCHING_KEY';
|
||||
this.message = 'no applicable key found in the JSON Web Key Set';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWKS_NO_MATCHING_KEY';
|
||||
}
|
||||
}
|
||||
export class JWKSMultipleMatchingKeys extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';
|
||||
this.message = 'multiple matching keys found in the JSON Web Key Set';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';
|
||||
}
|
||||
}
|
||||
Symbol.asyncIterator;
|
||||
export class JWKSTimeout extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWKS_TIMEOUT';
|
||||
this.message = 'request timed out';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWKS_TIMEOUT';
|
||||
}
|
||||
}
|
||||
export class JWSSignatureVerificationFailed extends JOSEError {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';
|
||||
this.message = 'signature verification failed';
|
||||
}
|
||||
static get code() {
|
||||
return 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';
|
||||
}
|
||||
}
|
||||
2
server/node_modules/jose/dist/node/esm/util/runtime.js
generated
vendored
Normal file
2
server/node_modules/jose/dist/node/esm/util/runtime.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import value from '../runtime/runtime.js';
|
||||
export default value;
|
||||
Reference in New Issue
Block a user