Skip to content

Commit

Permalink
fix(typescript): Compact JWS Header Parameters has alg and enc as req…
Browse files Browse the repository at this point in the history
…uired
  • Loading branch information
panva committed Nov 11, 2021
1 parent aaba8f3 commit 0fa87af
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 9 deletions.
1 change: 1 addition & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,5 @@ export type {
JWTVerifyResult,
JWTDecryptResult,
ResolvedKey,
CompactJWEHeaderParameters,
} from './types.d'
5 changes: 3 additions & 2 deletions src/jwe/compact/decrypt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { decoder } from '../../lib/buffer_utils.js'
import type {
KeyLike,
DecryptOptions,
JWEHeaderParameters,
CompactJWEHeaderParameters,
GetKeyFunction,
FlattenedJWE,
CompactDecryptResult,
Expand All @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions src/jwe/compact/encrypt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { FlattenedEncrypt } from '../flattened/encrypt.js'
import type {
KeyLike,
JWEKeyManagementHeaderParameters,
JWEHeaderParameters,
CompactJWEHeaderParameters,
EncryptOptions,
} from '../../types.d'

Expand Down Expand Up @@ -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
}
Expand Down
5 changes: 3 additions & 2 deletions src/jwt/decrypt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type {
DecryptOptions,
JWTClaimVerificationOptions,
GetKeyFunction,
JWEHeaderParameters,
CompactJWEHeaderParameters,
FlattenedJWE,
JWTDecryptResult,
ResolvedKey,
Expand All @@ -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.
Expand Down
6 changes: 3 additions & 3 deletions src/jwt/encrypt.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { CompactEncrypt } from '../jwe/compact/encrypt.js'
import type {
EncryptOptions,
JWEHeaderParameters,
CompactJWEHeaderParameters,
JWEKeyManagementHeaderParameters,
KeyLike,
} from '../types.d'
Expand Down Expand Up @@ -31,7 +31,7 @@ export class EncryptJWT extends ProduceJWT {

private _keyManagementParameters!: JWEKeyManagementHeaderParameters

private _protectedHeader!: JWEHeaderParameters
private _protectedHeader!: CompactJWEHeaderParameters

private _replicateIssuerAsHeader!: boolean

Expand All @@ -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')
}
Expand Down
9 changes: 9 additions & 0 deletions src/types.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit 0fa87af

Please sign in to comment.