带有Xero节点的Rest API

时间:2019-03-30 05:49:48

标签: node.js express session xero-api

我一直在完整的Node / Express应用程序上成功使用xero-node npm软件包。

过程是:

  1. 连接到xero api以获取请求令牌并构建身份验证网址:

    req.session.oauthRequestToken = token;
    
  2. 客户端被重定向到Xero登录。

  3. 提交xero登录后,用户将被定向到其余api中指定的回调,即http:localhost:8080 / callback。
  4. '/ callback'函数获取oauthRequestToken并将其与来自客户端的新req.query.oauth_token进行比较:

    if (req.query.oauth_verifier && req.query.oauth_token === req.session.oauthRequestToken
    
  5. 如果它们与req.session.oauthRequestToken相匹配,则将其设置为新令牌。

这曾经用于使用快速会话将会话通过Passport作为帮助程序保存到MongoDB中。

现在,我将我的应用分为前端和REST API应用。我已经停止使用Passport,现在仅使用JWT进行身份验证。因此不再使用会话或状态。

在这种情况下,使用req.session有什么选择?我的理解是,我不应该真正使用它,因为rest API是无状态的,但是我可能错了?

我考虑过要像每个JWT令牌一样向每个http请求传递oauthRequestToken,但是Xero auth屏幕无法实现,因为我无法控制。也许我可以使用诸如HTTP拦截器之类的方法从Xero表单添加标头?

0 个答案:

没有答案