initial commit
This commit is contained in:
21
server/node_modules/jose/dist/browser/jws/compact/verify.js
generated
vendored
Normal file
21
server/node_modules/jose/dist/browser/jws/compact/verify.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import { flattenedVerify } from '../flattened/verify.js';
|
||||
import { JWSInvalid } from '../../util/errors.js';
|
||||
import { decoder } from '../../lib/buffer_utils.js';
|
||||
export async function compactVerify(jws, key, options) {
|
||||
if (jws instanceof Uint8Array) {
|
||||
jws = decoder.decode(jws);
|
||||
}
|
||||
if (typeof jws !== 'string') {
|
||||
throw new JWSInvalid('Compact JWS must be a string or Uint8Array');
|
||||
}
|
||||
const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');
|
||||
if (length !== 3) {
|
||||
throw new JWSInvalid('Invalid Compact JWS');
|
||||
}
|
||||
const verified = await flattenedVerify({ payload, protected: protectedHeader, signature }, key, options);
|
||||
const result = { payload: verified.payload, protectedHeader: verified.protectedHeader };
|
||||
if (typeof key === 'function') {
|
||||
return { ...result, key: verified.key };
|
||||
}
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user