mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2024-11-10 04:54:03 -08:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
const axios = require('axios');
|
|
|
|
async function getToken(code) {
|
|
const params = {
|
|
client_id: process.env['WITHINGS_CLIENT_ID'],
|
|
client_secret: process.env['WITHINGS_CLIENT_SECRET'],
|
|
code: code,
|
|
grant_type: 'authorization_code',
|
|
action: 'requesttoken',
|
|
redirect_uri: 'https://ohmyposh.dev/api/auth',
|
|
};
|
|
|
|
const resp = await axios.post('https://wbsapi.withings.net/v2/oauth2', null, { params: params });
|
|
|
|
if (resp.data.error) {
|
|
throw resp.data.error;
|
|
}
|
|
|
|
return {
|
|
access_token: resp.data.body.access_token,
|
|
refresh_token: resp.data.body.refresh_token,
|
|
expires_in: resp.data.body.expires_in
|
|
};
|
|
}
|
|
|
|
async function refreshToken(refresh_token) {
|
|
const params = {
|
|
client_id: process.env['WITHINGS_CLIENT_ID'],
|
|
client_secret: process.env['WITHINGS_CLIENT_SECRET'],
|
|
refresh_token: refresh_token,
|
|
grant_type: 'refresh_token',
|
|
action: 'requesttoken',
|
|
redirect_uri: 'https://ohmyposh.dev/api/auth',
|
|
};
|
|
const resp = await axios.post('https://wbsapi.withings.net/v2/oauth2', null, { params: params });
|
|
|
|
return {
|
|
access_token: resp.data.body.access_token,
|
|
refresh_token: resp.data.body.refresh_token,
|
|
expires_in: resp.data.body.expires_in
|
|
};
|
|
}
|
|
|
|
module.exports = {
|
|
getToken: getToken,
|
|
refreshToken: refreshToken,
|
|
}
|