【问题标题】:When should an OAuth authorization code expire?OAuth 授权码应该何时过期?
【发布时间】:2019-08-03 22:31:32
【问题描述】:

我知道(在 OAuth 中使用授权代码“授权代码”时),访问令牌的生命周期应该很短,但刷新令牌的生命周期可能很长。 所以我决定我的项目:

  • 访问令牌生命周期:1 天
  • 刷新令牌生命周期:30 天

但是,授权代码的典型生命周期是多少? 我认为它应该非常非常短吗? 也许像 1 小时甚至几分钟?

我找不到任何“最佳实践”。

【问题讨论】:

    标签: oauth oauth-2.0 authorization access-token refresh-token


    【解决方案1】:

    所有这些都是标准的,但在大多数身份/身份验证服务器中都是可配置的。

    授权码

    当用户同意应用程序访问他们的数据时,他们会收到一个授权码。此代码通常只使用五分钟。低于此值的任何东西都可能会导致您出现时钟偏差问题,而且 IMO 确实没有理由让它更长。

    访问令牌

    在交换授权码后返回访问令牌。访问令牌。访问令牌通常只能使用 60 分钟。

    刷新令牌

    刷新令牌是长期存在的令牌。以下是谷歌标准。

    • 刷新令牌有效期为六个月,但这次正在下滑。
    • 如果应用程序六个月未使用刷新令牌,则访问权限将被撤销。
    • 用户也可以随时撤销访问权限。
    • 取决于请求的范围。用户更改密码后,某些刷新令牌会过期

    以上只是谷歌标准。在我工作的身份服务器上。我认为当前设置是一个月不使用刷新令牌过期。

    【讨论】:

      【解决方案2】:

      刚刚在其他网站上找到了答案:

      授权码必须在发出后不久过期。 OAuth 2.0 规范建议最长生命周期为 10 分钟,但实际上,大多数服务将过期时间设置得更短,大约 30-60 秒

      来源:https://www.oauth.com/oauth2-servers/authorization/the-authorization-response/

      【讨论】:

      • 您必须注意任何低于 5 分钟的时间,您可能会一点一点地出现时钟偏差。
      猜你喜欢
      • 2017-05-27
      • 2013-01-18
      • 2017-08-31
      • 2018-11-21
      • 2015-09-16
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 2016-09-11
      相关资源
      最近更新 更多