我在这里使用restify-oauth2 repo: https://github.com/domenic/restify-oauth2
在自述文件中,它提到了tokenExpirationTime
,但从未说明如何使用它。以下是关于它的全部内容:
- tokenExpirationTime:从令牌端点返回的响应的expires_in组件的值。请注意,这只是报告的值;您有责任自己跟踪令牌过期,并在令牌过期时使用来自authenticateToken的false回调。默认为无限。
如果有人能指出我正确的方向或知道如何使用这一点,将非常感激。提前谢谢!
答案 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的文档所述。