mirror of
https://github.com/danbulant/jose
synced 2026-05-19 04:18:52 +00:00
fix(typescript): Compact JWS Header Parameters has alg and enc as required
This commit is contained in:
parent
aaba8f3000
commit
0fa87af64b
6 changed files with 21 additions and 9 deletions
|
|
@ -89,4 +89,5 @@ export type {
|
|||
JWTVerifyResult,
|
||||
JWTDecryptResult,
|
||||
ResolvedKey,
|
||||
CompactJWEHeaderParameters,
|
||||
} from './types.d'
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { decoder } from '../../lib/buffer_utils.js'
|
|||
import type {
|
||||
KeyLike,
|
||||
DecryptOptions,
|
||||
JWEHeaderParameters,
|
||||
CompactJWEHeaderParameters,
|
||||
GetKeyFunction,
|
||||
FlattenedJWE,
|
||||
CompactDecryptResult,
|
||||
|
|
@ -15,7 +15,8 @@ import type {
|
|||
* Interface for Compact JWE Decryption dynamic key resolution.
|
||||
* No token components have been verified at the time of this function call.
|
||||
*/
|
||||
export interface CompactDecryptGetKey extends GetKeyFunction<JWEHeaderParameters, FlattenedJWE> {}
|
||||
export interface CompactDecryptGetKey
|
||||
extends GetKeyFunction<CompactJWEHeaderParameters, FlattenedJWE> {}
|
||||
|
||||
/**
|
||||
* Decrypts a Compact JWE.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { FlattenedEncrypt } from '../flattened/encrypt.js'
|
|||
import type {
|
||||
KeyLike,
|
||||
JWEKeyManagementHeaderParameters,
|
||||
JWEHeaderParameters,
|
||||
CompactJWEHeaderParameters,
|
||||
EncryptOptions,
|
||||
} from '../../types.d'
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ export class CompactEncrypt {
|
|||
*
|
||||
* @param protectedHeader JWE Protected Header object.
|
||||
*/
|
||||
setProtectedHeader(protectedHeader: JWEHeaderParameters) {
|
||||
setProtectedHeader(protectedHeader: CompactJWEHeaderParameters) {
|
||||
this._flattened.setProtectedHeader(protectedHeader)
|
||||
return this
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import type {
|
|||
DecryptOptions,
|
||||
JWTClaimVerificationOptions,
|
||||
GetKeyFunction,
|
||||
JWEHeaderParameters,
|
||||
CompactJWEHeaderParameters,
|
||||
FlattenedJWE,
|
||||
JWTDecryptResult,
|
||||
ResolvedKey,
|
||||
|
|
@ -21,7 +21,8 @@ export interface JWTDecryptOptions extends DecryptOptions, JWTClaimVerificationO
|
|||
* Interface for JWT Decryption dynamic key resolution.
|
||||
* No token components have been verified at the time of this function call.
|
||||
*/
|
||||
export interface JWTDecryptGetKey extends GetKeyFunction<JWEHeaderParameters, FlattenedJWE> {}
|
||||
export interface JWTDecryptGetKey
|
||||
extends GetKeyFunction<CompactJWEHeaderParameters, FlattenedJWE> {}
|
||||
|
||||
/**
|
||||
* Verifies the JWT format (to be a JWE Compact format), decrypts the ciphertext, validates the JWT Claims Set.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { CompactEncrypt } from '../jwe/compact/encrypt.js'
|
||||
import type {
|
||||
EncryptOptions,
|
||||
JWEHeaderParameters,
|
||||
CompactJWEHeaderParameters,
|
||||
JWEKeyManagementHeaderParameters,
|
||||
KeyLike,
|
||||
} from '../types.d'
|
||||
|
|
@ -31,7 +31,7 @@ export class EncryptJWT extends ProduceJWT {
|
|||
|
||||
private _keyManagementParameters!: JWEKeyManagementHeaderParameters
|
||||
|
||||
private _protectedHeader!: JWEHeaderParameters
|
||||
private _protectedHeader!: CompactJWEHeaderParameters
|
||||
|
||||
private _replicateIssuerAsHeader!: boolean
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ export class EncryptJWT extends ProduceJWT {
|
|||
* Must contain an "alg" (JWE Algorithm) and "enc" (JWE
|
||||
* Encryption Algorithm) properties.
|
||||
*/
|
||||
setProtectedHeader(protectedHeader: JWEHeaderParameters) {
|
||||
setProtectedHeader(protectedHeader: CompactJWEHeaderParameters) {
|
||||
if (this._protectedHeader) {
|
||||
throw new TypeError('setProtectedHeader can only be called once')
|
||||
}
|
||||
|
|
|
|||
9
src/types.d.ts
vendored
9
src/types.d.ts
vendored
|
|
@ -720,3 +720,12 @@ export interface ResolvedKey {
|
|||
*/
|
||||
key: KeyLike | Uint8Array
|
||||
}
|
||||
|
||||
/**
|
||||
* Recognized Compact JWE Header Parameters, any other Header Members
|
||||
* may also be present.
|
||||
*/
|
||||
export interface CompactJWEHeaderParameters extends JWEHeaderParameters {
|
||||
alg: string
|
||||
enc: string
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue