续期短access_token长
Renew short lived access_token for a long time
让我解释一下标题:
我有一个 PHP API 使用 OAuth2 身份验证。
我有一个 NodeJS 应用程序,通过密码授予使用此 API。在 session 中,节点存储每个用户的访问令牌和刷新令牌。
当用户请求节点或通过前端恶魔请求节点定期刷新时,我用 refresh_token 更新 access_token 没有问题。
我的问题是:
我想保持 access_token 短暂存在,因为我听说这是一种进一步的安全性(3600 秒左右),但我希望允许用户在几天后回来并仍然经过身份验证,或者在至少避免再次询问他密码登录。我是否被迫延长访问令牌的生命周期?
节点服务器是否需要刷新用户的令牌,即使他没有请求任何东西?
提前致谢
刷新令牌不能过期或可以有很长的过期时间。
在许多常见的 OAuth2 实现中,刷新令牌的有效期很长(比访问令牌长得多)或根本不会过期。您需要存储链接到节点会话的此刷新令牌(例如在数据库中)。然后,当用户回来时,只需使用相关的刷新令牌检索新的访问令牌。
根据http://blog.cloud-elements.com/oauth-2-0-access-refresh-token-guide:
- 盒子
- 访问令牌:1 小时
- 刷新令牌:60 天(检索新访问令牌时重置 60 天)
- 投递箱
- 访问令牌:永远
- 刷新令牌:N/A
- Google 驱动Google 驱动 OAuth
- 访问令牌:1 小时,根据我的经验,但这似乎会因 Google API 而异(expires_in 字段在 JSON 中返回)
- 刷新令牌:永远
- OneDrive
- 访问令牌:1 小时
- Refresh token: 6 months (每次调用refresh获取一个新的)
- SharePoint
- 访问令牌:1 小时
- Refresh token: 6 months (每次调用refresh获取一个新的)
让我解释一下标题:
我有一个 PHP API 使用 OAuth2 身份验证。
我有一个 NodeJS 应用程序,通过密码授予使用此 API。在 session 中,节点存储每个用户的访问令牌和刷新令牌。
当用户请求节点或通过前端恶魔请求节点定期刷新时,我用 refresh_token 更新 access_token 没有问题。
我的问题是: 我想保持 access_token 短暂存在,因为我听说这是一种进一步的安全性(3600 秒左右),但我希望允许用户在几天后回来并仍然经过身份验证,或者在至少避免再次询问他密码登录。我是否被迫延长访问令牌的生命周期? 节点服务器是否需要刷新用户的令牌,即使他没有请求任何东西?
提前致谢
刷新令牌不能过期或可以有很长的过期时间。
在许多常见的 OAuth2 实现中,刷新令牌的有效期很长(比访问令牌长得多)或根本不会过期。您需要存储链接到节点会话的此刷新令牌(例如在数据库中)。然后,当用户回来时,只需使用相关的刷新令牌检索新的访问令牌。
根据http://blog.cloud-elements.com/oauth-2-0-access-refresh-token-guide:
- 盒子
- 访问令牌:1 小时
- 刷新令牌:60 天(检索新访问令牌时重置 60 天)
- 投递箱
- 访问令牌:永远
- 刷新令牌:N/A
- Google 驱动Google 驱动 OAuth
- 访问令牌:1 小时,根据我的经验,但这似乎会因 Google API 而异(expires_in 字段在 JSON 中返回)
- 刷新令牌:永远
- OneDrive
- 访问令牌:1 小时
- Refresh token: 6 months (每次调用refresh获取一个新的)
- SharePoint
- 访问令牌:1 小时
- Refresh token: 6 months (每次调用refresh获取一个新的)