【问题标题】:JwtReadError (401 Status) when attempting to OAuth Authentication Flow a second time再次尝试 OAuth 身份验证流程时出现 JwtReadError(401 状态)
【发布时间】:2021-08-17 23:31:10
【问题描述】:

我正在为 Banno Mobile & Online 构建一个插件。在遵循 Jack Henry Digital Toolkit 提供的documentation 使用 OAuth 架构进行身份验证时,我能够成功完成身份验证流程并接收访问令牌和用户配置文件信息。

经过一段时间后(在我的测试中,这似乎是 10 分钟左右),如果我尝试再次启动 OAuth 流程,我会收到来自初始重定向到 /a 的 HTTP 状态代码 401 响应/consumer/api/v0/oidc URL。在我手动导航到 Banno Online 站点并手动登录之前,我将继续使用 OAuth 流程获得 401 响应。

出于我的目的,用例将是在插件的全屏视图中空闲的用户。我想重新对用户进行身份验证,但是如果经过一定时间,尝试通过启动 OAuth 流程来执行此操作会导致上述失败。如果我尝试在初始身份验证后的 10 分钟内启动 OAuth 流程,它会按预期工作。

【问题讨论】:

    标签: oauth banno-digital-toolkit


    【解决方案1】:

    Access Token 当前的生命周期为 10 分钟,从发行该特定令牌开始,这听起来就像您所看到的那样。参考Access Tokens

    处理访问令牌过期的一种方法是在初始身份验证流程中请求Refresh Token。可以将刷新令牌交换为新的访问令牌。请参阅Refresh TokensOpenID Connect and OAuth 2.0 以供参考。

    在这种情况下,您可以在初始身份验证流程中通过在身份验证请求中包含 OAuth 范围 https://api.banno.com/consumer/auth/offline_access 来请求刷新令牌。

    可以使用POST ​/oidc​/token 端点将刷新令牌交换为新的访问令牌。详情请参阅API Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-04
      • 2014-06-15
      • 2018-10-09
      • 2019-09-30
      • 2017-10-23
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      相关资源
      最近更新 更多