restify-oauth2如何使用tokenExpirationTime

时间:2014-11-13 15:24:51

标签: node.js oauth-2.0 restify

我在这里使用restify-oauth2 repo: https://github.com/domenic/restify-oauth2

在自述文件中,它提到了tokenExpirationTime,但从未说明如何使用它。以下是关于它的全部内容:

  
      
  • tokenExpirationTime:从令牌端点返回的响应的expires_in组件的值。请注意,这只是报告的值;您有责任自己跟踪令牌过期,并在令牌过期时使用来自authenticateToken的false回调。默认为无限。
  •   

如果有人能指出我正确的方向或知道如何使用这一点,将非常感激。提前谢谢!

2 个答案:

答案 0 :(得分:1)

所以我想出了如何在请求中添加tokenExpirationTime。这就是我所做的。

首先将变量添加到配置中的环境中:

tokenExpirationTime: 3600, // production server tokens will expire in one hour

我让令牌在一小时后到期生产。对于我的开发环境,我通过添加此行使令牌永不过期。

tokenExpirationTime: undefined, // dev environment tokens will not expire

要在server.js文件中使用此配置变量,我将其添加到tokenExpirationTime到我的ropc设置。

restifyOAuth2.ropc(server, { tokenEndpoint: "/login", hooks: hooks, tokenExpirationTime: config.tokenExpirationTime });

现在,当您登录时,它使用我在配置文件中定义的时间。我仍然需要弄清楚如何提取expires_in并刷新时间或发送回未经过身份验证。

至于这个问题的范围,我们会回答。

答案 1 :(得分:0)

我认为您为请求的响应传递了tokenExpirationTime 。 例如:

{"access_token":"RHcXztdcDgLCXh6etEIWdzZjrZr8UL16MCTkWxhdO8U=","token_type":"Bearer","expires_in":3600}

在restify-oauth2中,我没有看到任何方法在我们的可用钩子中获取这些数据(tokenExpirationTime),例如 authenticateToken grantUserToken

就这样,你有责任确保令牌的到期,正如restify-oauth2的文档所述。