Thread resolver return types through verify and decrypt results. Add overloads so wrappers can forward either keys or resolvers. Infer importJWK and generateSecret results from their inputs. Keep JWT payload generics unconstrained while rejecting known non-object shapes. Signed-off-by: Filip Skokan <[email protected]>
5.6 KiB
Function: flattenedVerify()
💗 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
â–¸ flattenedVerify(jws, key, options?): Promise<FlattenedVerifyResult>
Verifies the signature and format of and afterwards decodes the Flattened JWS.
This function is exported (as a named export) from the main 'jose' module entry point as well
as from its subpath export 'jose/jws/flattened/verify'.
Parameters
| Parameter | Type | Description |
|---|---|---|
jws |
FlattenedJWSInput |
Flattened JWS. |
key |
KeyInput |
Key to verify the JWS with. See Algorithm Key Requirements. |
options? |
VerifyOptions |
JWS Verify options. |
Returns
Promise<FlattenedVerifyResult>
Example
const decoder = new TextDecoder()
const jws = {
signature:
'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA',
payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4',
protected: 'eyJhbGciOiJFUzI1NiJ9',
}
const { payload, protectedHeader } = await jose.flattenedVerify(jws, publicKey)
console.log(protectedHeader)
console.log(decoder.decode(payload))
Call Signature
â–¸ flattenedVerify<KeyType>(jws, getKey, options?): Promise<FlattenedVerifyResult & ResolvedKey<KeyType>>
Verifies the signature and format of and afterwards decodes the Flattened JWS, resolving the key dynamically. The result additionally carries the resolved key.
Type Parameters
| Type Parameter | Default type |
|---|---|
KeyType extends Uint8Array | CryptoKey |
Uint8Array | CryptoKey |
Parameters
| Parameter | Type | Description |
|---|---|---|
jws |
FlattenedJWSInput |
Flattened JWS. |
getKey |
FlattenedVerifyGetKey<KeyType> |
Function resolving a key to verify the JWS with. See Algorithm Key Requirements. |
options? |
VerifyOptions |
JWS Verify options. |
Returns
Promise<FlattenedVerifyResult & ResolvedKey<KeyType>>
Call Signature
â–¸ flattenedVerify(jws, key, options?): Promise<FlattenedVerifyResult & Partial<ResolvedKey<Uint8Array | CryptoKey>>>
Accepts either form of the key argument. Use this overload when forwarding a value that may be
either a key or a key resolution function; key is present on the result only when a resolution
function was used.
Parameters
| Parameter | Type | Description |
|---|---|---|
jws |
FlattenedJWSInput |
Flattened JWS. |
key |
KeyInput | FlattenedVerifyGetKey<Uint8Array | CryptoKey> |
Key, or function resolving a key, to verify the JWS with. See Algorithm Key Requirements. |
options? |
VerifyOptions |
JWS Verify options. |
Returns
Promise<FlattenedVerifyResult & Partial<ResolvedKey<Uint8Array | CryptoKey>>>