Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 长时间续订短期访问\u令牌_Php_Security_Oauth_Token_Access Token - Fatal编程技术网

Php 长时间续订短期访问\u令牌

Php 长时间续订短期访问\u令牌,php,security,oauth,token,access-token,Php,Security,Oauth,Token,Access Token,让我解释一下标题: 我有一个使用OAuth2身份验证的PHP API 我有一个NodeJS应用程序,通过密码授权使用这个API。在会话中,节点存储每个用户的访问令牌和刷新令牌 当用户请求节点或通过前端demon请求节点定期刷新时,我可以使用刷新令牌更新access_令牌 我的问题是: 我想让我的访问令牌保持短暂,因为我听说这是一种进一步的安全措施(3600秒左右),但我想允许用户几天后返回并仍然进行身份验证,或者至少避免再次询问他的密码登录。我是否被迫延长访问令牌的生命周期? 节点服务器是否需要

让我解释一下标题:

我有一个使用OAuth2身份验证的PHP API

我有一个NodeJS应用程序,通过密码授权使用这个API。在会话中,节点存储每个用户的访问令牌和刷新令牌

当用户请求节点或通过前端demon请求节点定期刷新时,我可以使用刷新令牌更新access_令牌

我的问题是: 我想让我的访问令牌保持短暂,因为我听说这是一种进一步的安全措施(3600秒左右),但我想允许用户几天后返回并仍然进行身份验证,或者至少避免再次询问他的密码登录。我是否被迫延长访问令牌的生命周期? 节点服务器是否需要刷新用户的令牌,即使他没有请求任何内容


提前感谢您

刷新令牌不能过期或过期时间很长。

在许多常见的OAuth2实现中,刷新令牌的有效期很长(比访问令牌长得多),或者根本不会过期。您需要存储链接到节点会话的刷新令牌(例如,在DB中)。然后,当用户返回时,只需使用相关的刷新令牌检索新的访问令牌

根据:

  • 盒子
    • 访问令牌:1小时
    • 刷新令牌:60天(检索新访问令牌时重置60天)
  • 升降箱
    • 访问令牌:永久
    • 刷新令牌:不适用
  • 谷歌驱动器谷歌驱动器OAuth
    • 访问令牌:1小时,根据我的经验,但这可能会因Google API而异(字段中的expires\u以JSON返回)
    • 刷新令牌:永远
  • OneDrive
    • 访问令牌:1小时
    • 刷新令牌:6个月(每次调用刷新时获取一个新令牌)
  • SharePoint
    • 访问令牌:1小时
    • 刷新令牌:6个月(每次调用刷新时获取一个新令牌)