@@ -34,10 +34,13 @@ export interface OIDCMockProviderConfig {
34
34
* This should include e.g. `sub` and any other OIDC claims that are relevant.
35
35
*
36
36
* skipIdToken: Exclude ID Token
37
+ *
38
+ * customIdTokenPayload: Custom overrides in payload data for the ID token
37
39
*/
38
40
getTokenPayload ( metadata : TokenMetadata ) : MaybePromise < {
39
41
expires_in : number ;
40
42
payload : Record < string , unknown > ;
43
+ customIdTokenPayload ?: Record < string , unknown > ;
41
44
skipIdToken ?: boolean ;
42
45
} > ;
43
46
@@ -325,7 +328,7 @@ export class OIDCMockProvider {
325
328
access_token : string ;
326
329
id_token : string | undefined ;
327
330
} > {
328
- const { expires_in, payload, skipIdToken } =
331
+ const { expires_in, payload, skipIdToken, customIdTokenPayload } =
329
332
await this . config . getTokenPayload ( metadata ) ;
330
333
const currentTimeInSeconds = Math . floor ( Date . now ( ) / 1000 ) ;
331
334
const header = {
@@ -360,7 +363,11 @@ export class OIDCMockProvider {
360
363
// In an ID Token, aud === client_id, in an Access Token, not necessarily
361
364
id_token : skipIdToken
362
365
? undefined
363
- : makeToken ( { ...fullPayload , aud : metadata . client_id } ) ,
366
+ : makeToken ( {
367
+ ...fullPayload ,
368
+ aud : metadata . client_id ,
369
+ ...customIdTokenPayload ,
370
+ } ) ,
364
371
} ;
365
372
}
366
373
0 commit comments