obtain valid token on every API request

This commit is contained in:
Bilal Catic
2019-08-31 00:06:01 +02:00
parent 333733099b
commit d24913689d
3 changed files with 40 additions and 7 deletions

View File

@@ -26,7 +26,7 @@ const updateToken = (token, validUntil) => {
});
};
const getToken = () => {
const getToken = (returnTokenOnly = false) => {
return new Promise((resolve, reject) => {
db.accessToken.findAll()
.then((results) => {
@@ -36,14 +36,30 @@ const getToken = () => {
const validUntilMoment = moment(validUntil);
if (validUntilMoment.isBefore(moment())){
refreshOauthToken()
.then((oauthResult) => resolve(oauthResult))
.then((oauthResult) => {
if (returnTokenOnly){
resolve(oauthResult.token);
}else{
resolve(oauthResult);
}
})
.catch((error) => reject(error));
}else{
resolve({token, validUntil});
if (returnTokenOnly){
resolve(token);
}else {
resolve({token, validUntil});
}
}
}else{
refreshOauthToken()
.then((oauthResult) => resolve(oauthResult))
.then((oauthResult) => {
if (returnTokenOnly){
resolve(oauthResult.token);
}else{
resolve(oauthResult);
}
})
.catch((error) => reject(error));
}
})