@@ -18,6 +18,7 @@ export interface GetManagementTokenOptions {
1818 keyId ?: string
1919 reuseToken ?: boolean
2020 host ?: string
21+ disableLogging ?: boolean
2122}
2223
2324let defaultCache : LRUCache < string , string > | undefined
@@ -29,15 +30,15 @@ let defaultCache: LRUCache<string, string> | undefined
2930const generateOneTimeToken = (
3031 privateKey : string ,
3132 { appId, keyId } : { appId : string ; keyId ?: string } ,
32- { log } : { log : Logger } ,
33+ { log, disableLogging } : { log : Logger ; disableLogging : boolean } ,
3334) : string => {
34- log ( 'Signing a JWT token with private key' )
35+ if ( ! disableLogging ) log ( 'Signing a JWT token with private key' )
3536 try {
3637 const baseSignOptions : SignOptions = { algorithm : 'RS256' , issuer : appId , expiresIn : '10m' }
3738 const signOptions : SignOptions = keyId ? { ...baseSignOptions , keyid : keyId } : baseSignOptions
3839
3940 const token = sign ( { } , privateKey , signOptions )
40- log ( 'Successfully signed token' )
41+ if ( ! disableLogging ) log ( 'Successfully signed token' )
4142 return token
4243 } catch ( e ) {
4344 log ( 'Unable to sign token' )
@@ -52,11 +53,11 @@ const getTokenFromOneTimeToken = async (
5253 spaceId,
5354 environmentId,
5455 } : { appInstallationId : string ; spaceId : string ; environmentId : string } ,
55- { log, http } : { log : Logger ; http : HttpClient } ,
56+ { log, http, disableLogging } : { log : Logger ; http : HttpClient ; disableLogging : boolean } ,
5657) : Promise < string > => {
5758 const validateStatusCode = createValidateStatusCode ( [ 201 ] )
5859
59- log ( `Requesting CMA Token with given App Token` )
60+ if ( ! disableLogging ) log ( `Requesting CMA Token with given App Token` )
6061
6162 const response = await http . post (
6263 `spaces/${ spaceId } /environments/${ environmentId } /app_installations/${ appInstallationId } /access_tokens` ,
@@ -70,9 +71,10 @@ const getTokenFromOneTimeToken = async (
7071 } ,
7172 )
7273
73- log (
74- `Successfully retrieved CMA Token for app ${ appInstallationId } in space ${ spaceId } and environment ${ environmentId } ` ,
75- )
74+ if ( ! disableLogging )
75+ log (
76+ `Successfully retrieved CMA Token for app ${ appInstallationId } in space ${ spaceId } and environment ${ environmentId } ` ,
77+ )
7678
7779 return JSON . parse ( response . body ) . token
7880}
@@ -91,13 +93,12 @@ export const createGetManagementToken = (
9193 throw new ReferenceError ( 'Invalid privateKey: expected a string representing a private key' )
9294 }
9395
94- if ( opts . reuseToken === undefined ) {
95- opts . reuseToken = true
96- }
96+ const reuseToken = opts . reuseToken ?? true
97+ const disableLogging = opts . disableLogging ?? false
9798
9899 const cacheKey =
99100 opts . appInstallationId + opts . spaceId + opts . environmentId + privateKey . slice ( 32 , 132 )
100- if ( opts . reuseToken ) {
101+ if ( reuseToken ) {
101102 const existing = cache . get ( cacheKey ) as string
102103 if ( existing ) {
103104 return existing as string
@@ -107,10 +108,10 @@ export const createGetManagementToken = (
107108 const appToken = generateOneTimeToken (
108109 privateKey ,
109110 { appId : opts . appInstallationId , keyId : opts . keyId } ,
110- { log } ,
111+ { log, disableLogging } ,
111112 )
112- const ott = await getTokenFromOneTimeToken ( appToken , opts , { log, http } )
113- if ( opts . reuseToken ) {
113+ const ott = await getTokenFromOneTimeToken ( appToken , opts , { log, http, disableLogging } )
114+ if ( reuseToken ) {
114115 const decoded = decode ( ott )
115116 if ( decoded && typeof decoded === 'object' && decoded . exp ) {
116117 // Internally expire cached tokens a bit earlier to make sure token isn't expired on arrival
0 commit comments