@@ -143,6 +143,7 @@ async function getAccessToken(
143
143
clientSecret : string ,
144
144
redirect_uri : string ,
145
145
paramCommunication : GetAccessTokenParamCommunication = GetAccessTokenParamCommunication . BODY ,
146
+ additionalHeaders : Record < string , any > = { } ,
146
147
) {
147
148
console . log ( `Start: fetching access tokens` ) ;
148
149
const params = {
@@ -154,13 +155,27 @@ async function getAccessToken(
154
155
} ;
155
156
switch ( paramCommunication ) {
156
157
case GetAccessTokenParamCommunication . QUERY_PARAM :
157
- return await axios . post ( accessTokenURL , { } , { params : params } ) ;
158
+ return await axios . post (
159
+ accessTokenURL ,
160
+ { } ,
161
+ {
162
+ params : params ,
163
+ ...( Object . keys ( additionalHeaders ) && { headers : additionalHeaders } ) ,
164
+ } ,
165
+ ) ;
158
166
case GetAccessTokenParamCommunication . X_WWW_FORM_URL_ENCODED :
159
167
return await axios . post ( accessTokenURL , new URLSearchParams ( params ) , {
160
- headers : { 'Content-Type' : 'application/x-www-form-urlencoded' } ,
168
+ headers : Object . assign (
169
+ { } ,
170
+ { 'Content-Type' : 'application/x-www-form-urlencoded' } ,
171
+ additionalHeaders ,
172
+ ) ,
161
173
} ) ;
162
174
case GetAccessTokenParamCommunication . BODY :
163
- return await axios . post ( accessTokenURL , params ) ;
175
+ return await axios . post ( accessTokenURL , {
176
+ params : params ,
177
+ ...( Object . keys ( additionalHeaders ) && { headers : additionalHeaders } ) ,
178
+ } ) ;
164
179
default :
165
180
throw Error ( 'Unexpected parameter communication type' ) ;
166
181
}
0 commit comments