Skip to content

Commit 05d0d3b

Browse files
committed
added optional parameter for getAccesstoken in oauth
1 parent 33d37c3 commit 05d0d3b

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

src/util/oauth.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ async function getAccessToken(
143143
clientSecret: string,
144144
redirect_uri: string,
145145
paramCommunication: GetAccessTokenParamCommunication = GetAccessTokenParamCommunication.BODY,
146+
additionalHeaders: Record<string, any> = {},
146147
) {
147148
console.log(`Start: fetching access tokens`);
148149
const params = {
@@ -154,13 +155,27 @@ async function getAccessToken(
154155
};
155156
switch (paramCommunication) {
156157
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+
);
158166
case GetAccessTokenParamCommunication.X_WWW_FORM_URL_ENCODED:
159167
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+
),
161173
});
162174
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+
});
164179
default:
165180
throw Error('Unexpected parameter communication type');
166181
}

0 commit comments

Comments
 (0)