Back to Jose

Function: generalVerify()

docs/jws/general/verify/functions/generalVerify.md

6.2.125.5 KB
Original Source

Function: generalVerify()

šŸ’— Help the project

Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by becoming a sponsor.

Call Signature

ā–ø generalVerify(jws, key, options?): Promise<GeneralVerifyResult>

Verifies a General JWS signature and decodes its payload.

This function is exported (as a named export) from the main 'jose' module entry point as well as from its subpath export 'jose/jws/general/verify'.

[!NOTE]
Returns payload and headers from the first signature that verifies successfully. Other entries' headers may be inspected to reject inconsistent use of the JWS Unencoded Payload Option, but are not included in the result. Rely only on the returned data.

Parameters

ParameterTypeDescription
jwsGeneralJWSInputGeneral JWS.
keyKeyInputPublic key or shared secret. See Algorithm Key Requirements.
options?VerifyOptionsJWS Verify options.

Returns

Promise<GeneralVerifyResult>

Example

js
const jws = {
  payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4',
  signatures: [
    {
      signature:
        'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA',
      protected: 'eyJhbGciOiJFUzI1NiJ9',
    },
  ],
}

const { payload, protectedHeader } = await jose.generalVerify(jws, publicKey)

console.log(protectedHeader)
console.log(new TextDecoder().decode(payload))

Call Signature

ā–ø generalVerify<KeyType>(jws, getKey, options?): Promise<GeneralVerifyResult & ResolvedKey<KeyType>>

Verifies a General JWS signature and decodes its payload with a dynamically resolved key, included in the result.

Type Parameters

Type ParameterDefault type
KeyType extends Uint8Array | CryptoKeyUint8Array | CryptoKey

Parameters

ParameterTypeDescription
jwsGeneralJWSInputGeneral JWS.
getKeyGeneralVerifyGetKey<KeyType>Resolves a public key or shared secret from unverified token data.
options?VerifyOptionsJWS Verify options.

Returns

Promise<GeneralVerifyResult & ResolvedKey<KeyType>>

Call Signature

ā–ø generalVerify(jws, key, options?): Promise<GeneralVerifyResult & Partial<ResolvedKey<Uint8Array | CryptoKey>>>

Verifies a General JWS and decodes its payload using a key or key resolver. The result includes key only when a resolver is used.

Parameters

ParameterTypeDescription
jwsGeneralJWSInputGeneral JWS.
keyKeyInput | GeneralVerifyGetKey<Uint8Array | CryptoKey>Public key or shared secret, or a function resolving one.
options?VerifyOptionsJWS Verify options.

Returns

Promise<GeneralVerifyResult & Partial<ResolvedKey<Uint8Array | CryptoKey>>>