app.get( '/callback', function(req, res) { oauth.getOAuthAccessToken( req.session.token, req.session.secret, req.query.oauth_verifier, function(error, token, secret, results) { if ( error ) { res.send( 'error' ); return; } req.session.access.token = token; req.session.access.secret = secret; console.log( token, secret ); res.redirect( 'http://localhost:3000' ); } ); });
oauth.getOAuthAccessToken(this.requesttoken.token, this.requesttoken.secret,this.requesttoken.verifier, function (err, oauth_token, oauth_token_secret, results){ if (!err) { var hkey = oauth_token_secret+'&'+self.gearsecret; var revokecode = crypto.createHmac('sha1', hkey).update(oauth_token).digest('base64').replace(/\//g,'_'); self.accesstoken = {token:oauth_token, secret: oauth_token_secret, appkey: results.appkey, endpoint: results.endpoint, revokecode: revokecode}; if (results.flag != 'S') { self.setGearCacheValue('accesstoken',self.accesstoken); self.setGearCacheValue('requesttoken',null); } else { self.clearGearCache(); } if (typeof(callback)=='function') callback(2); } else { switch (err.statusCode) { case 401: // not authorized yet if (typeof(callback)=='function') callback(1); break; case 500: // eg. 500 request token not found default : self.emit('rejected','Request token rejected'); if (typeof(callback)=='function') callback(1); break; } } });
app.get('/sessions/callback', (request, response) => { consumer.getOAuthAccessToken( request.session.oauthRequestToken, request.session.oauthRequestTokenSecret, request.query.oauth_verifier, (error, oauthAccessToken, oauthAccessTokenSecret) => { if (error) { response.send("error getting access token"); } else { request.session.oauthAccessToken = oauthAccessToken; request.session.oauthAccessTokenSecret = oauthAccessTokenSecret; consumer.get(`${config.jiraUrl}/rest/auth/latest/session`, request.session.oauthAccessToken, request.session.oauthAccessTokenSecret, function (error, data) { console.log('response', data, error); data = JSON.parse(data); response.send(`Authorized username: ${data["name"]}`); }, "application/json" ); } } ); });