jose/docs/functions/_jws_compact_verify_.compactverify.md
2020-12-16 18:45:02 +01:00

50 lines
1.9 KiB
Markdown

# Function: compactVerify
**compactVerify**(`jws`: string \| Uint8Array, `key`: [KeyLike](../types/_types_d_.keylike.md) \| [CompactVerifyGetKey](../interfaces/_jws_compact_verify_.compactverifygetkey.md), `options?`: [VerifyOptions](../interfaces/_types_d_.verifyoptions.md)): Promise\<[CompactVerifyResult](../interfaces/_types_d_.compactverifyresult.md)>
*Defined in [src/jws/compact/verify.ts:60](https://github.com/panva/jose/blob/v3.4.0/src/jws/compact/verify.ts#L60)*
Verifies the signature and format of and afterwards decodes the Compact JWS.
**`example`**
```js
// ESM import
import compactVerify from 'jose/jws/compact/verify'
```
**`example`**
```js
// CJS import
const { default: compactVerify } = require('jose/jws/compact/verify')
```
**`example`**
```js
// usage
import parseJwk from 'jose/jwk/parse'
const decoder = new TextDecoder()
const jws = 'eyJhbGciOiJFUzI1NiJ9.SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4.kkAs_gPPxWMI3rHuVlxHaTPfDWDoqdI8jSvuSmqV-8IHIWXg9mcAeC9ggV-45ZHRbiRJ3obUIFo1rHphPA5URg'
const publicKey = await parseJwk({
alg: 'ES256',
crv: 'P-256',
kty: 'EC',
x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw',
y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo'
})
const { payload, protectedHeader } = await compactVerify(jws, publicKey)
console.log(protectedHeader)
console.log(decoder.decode(payload))
```
#### Parameters:
Name | Type | Description |
------ | ------ | ------ |
`jws` | string \| Uint8Array | Compact JWS. |
`key` | [KeyLike](../types/_types_d_.keylike.md) \| [CompactVerifyGetKey](../interfaces/_jws_compact_verify_.compactverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. |
`options?` | [VerifyOptions](../interfaces/_types_d_.verifyoptions.md) | JWS Verify options. |
**Returns:** Promise\<[CompactVerifyResult](../interfaces/_types_d_.compactverifyresult.md)>