Files
automatisch/packages/backend/src/apps/dropbox/auth/refresh-token.js
2024-01-05 17:44:21 +01:00

37 lines
733 B
JavaScript

import { Buffer } from 'node:buffer';
const refreshToken = async ($) => {
const params = {
grant_type: 'refresh_token',
refresh_token: $.auth.data.refreshToken,
};
const basicAuthToken = Buffer.from(
`${$.auth.data.clientId}:${$.auth.data.clientSecret}`
).toString('base64');
const { data } = await $.http.post('oauth2/token', null, {
params,
headers: {
Authorization: `Basic ${basicAuthToken}`,
},
additionalProperties: {
skipAddingAuthHeader: true,
},
});
const {
access_token: accessToken,
expires_in: expiresIn,
token_type: tokenType,
} = data;
await $.auth.set({
accessToken,
expiresIn,
tokenType,
});
};
export default refreshToken;