get token only after it expires are app starts

master
Matt Huntington 3 years ago
parent 48f0605331
commit bce8fa2e74

@ -3,6 +3,9 @@ const app = express();
const axios = require('axios');
const querystring = require('querystring');
let tokenExpirationDate = false;
let bearerToken;
const data = {
grant_type:'password',
username:process.env.REDDITUSR,
@ -14,16 +17,20 @@ const auth = {
}
const getToken = async ()=>{
const response = await axios({
url:'https://www.reddit.com/api/v1/access_token',
method:'post',
auth:auth,
data:querystring.stringify(data)
})
if(tokenExpirationDate === false || Date.now() > tokenExpirationDate){
const response = await axios({
url:'https://www.reddit.com/api/v1/access_token',
method:'post',
auth:auth,
data:querystring.stringify(data)
})
bearerToken = response.data.access_token
tokenExpirationDate = Date.now()+(response.data.expires_in*1000)
}
const config = {
headers:{
Authorization: 'bearer '+response.data.access_token
Authorization: 'bearer '+ bearerToken
}
}
return config
@ -48,6 +55,8 @@ const generate = async (req, res)=>{
}
getToken();
app.get('/', generate)
app.get('/:direction/:page', generate)

Loading…
Cancel
Save