【问题标题】:Implementing http retries with refresh token flow使用刷新令牌流实现 http 重试
【发布时间】:2020-04-26 04:06:46
【问题描述】:

我有一个 java 命令行应用程序,它使用 OAuth 2.0 设备流向外部服务进行身份验证。它对该服务进行各种 REST 调用,但有时访问令牌会过期。当它到期时,我会收到一个 401 响应代码。我已经通过使用刷新令牌流来获取新的访问令牌来处理此响应代码,然后我再次递归调用相同的函数以使用新令牌执行操作。

这对我有用,我已经实施了重试限制,但感觉不对。我不确定如何将其作为通用功能来实现。我一直在我的代码中复制和粘贴相同的逻辑。我一直在尝试寻找替代方法,但还没有找到任何东西。有什么建议吗?

【问题讨论】:

    标签: java rest recursion oauth-2.0 httpclient


    【解决方案1】:

    根据 OAuth2 RFC https://www.rfc-editor.org/rfc/rfc6749,您似乎正在使用客户端凭据流,实际上不需要刷新令牌,因为应用程序可以轻松请求任意数量的令牌。

    所以我建议在现有的访问令牌过期后获取一个新的访问令牌。

    只有在涉及用户(授权码、隐式或密码流)时,管理刷新令牌以及避免打扰用户才有意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 2021-12-24
      • 2020-10-20
      • 1970-01-01
      • 2015-10-31
      • 2014-12-22
      • 2020-11-09
      相关资源
      最近更新 更多