让我解释标题:
我使用OAuth2身份验证 PHP API 。
我有一个 NodeJS应用程序,通过密码授予使用此API。在会话中,节点存储每个用户的访问令牌和刷新令牌。
当用户请求节点或通过前端恶魔,请求节点定期刷新时,我可以使用refresh_token更新access_token。
我的问题是: 我想保持我的access_token很短暂,因为我听说它是一个进一步的安全性(3600秒左右),但我想让用户几天后回来并仍然进行身份验证,或者至少避免询问他密码再次登录。我是否被迫使访问令牌的生命周期更长? 节点服务器是否需要刷新用户的令牌,即使他没有请求任何内容?
提前谢谢
答案 0 :(得分:0)
刷新令牌不能过期或可能有很长时间过期。
答案 1 :(得分:0)
在许多常见的OAuth2实现中,刷新令牌长时间有效(比访问令牌长得多)或者根本不会过期。您需要存储链接到节点会话的此刷新令牌(例如,在DB中)。然后,当用户回来时,只需使用相关的刷新令牌检索新的访问令牌。
根据http://blog.cloud-elements.com/oauth-2-0-access-refresh-token-guide: