Skip to content

Instantly share code, notes, and snippets.

@ChrisGrigg
Last active September 7, 2017 20:02
Show Gist options
  • Save ChrisGrigg/d54b6acf42577d4ba968a3c20c2f5d09 to your computer and use it in GitHub Desktop.
Save ChrisGrigg/d54b6acf42577d4ba968a3c20c2f5d09 to your computer and use it in GitHub Desktop.
function authoriseRedirect(req, res) {
const xeroClient = getXeroClient();
xeroClient.getRequestToken((err, token, secret) => {
if (err) return handleErr(err, res);
console.log('authoriseRedirect token: ' + token);
console.log('authoriseRedirect secret: ' + secret);
req.session.oauthRequestToken = token;
req.session.oauthRequestSecret = secret;
const data = {
authoriseURL: xeroClient.buildAuthorizeUrl(token),
appType: APPTYPE
};
return res.json(data);
});
}
exports.getXeroCallback = (req, res) => {
const xeroClient = getXeroClient();
if (req.query.oauth_verifier && req.query.oauth_token === req.session.oauthRequestToken)
{
console.log('[getXeroCallback] oAuthToken: ' + req.session.oauthRequestToken);
console.log('[getXeroCallback] oAuthSecret: ' + req.session.oauthRequestSecret);
xeroClient.setAccessToken(req.session.oauthRequestToken, req.session.oauthRequestSecret, req.query.oauth_verifier)
.then((options) => {
req.body.accessToken = options.results.oauth_token;
req.body.accessSecret = options.results.oauth_token_secret;
req.body.sessionHandle = options.results.oauth_session_handle;
// save to DB
if (typeof req.user !== 'undefined') {
user.postUpdateXeroTokens(req, res);
}
})
.catch((err) => {
return handleErr(err, res);
});
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment