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

Loading…
Cancel
Save