【问题标题】:Bearer token expiration in JavaJava中的不记名令牌到期
【发布时间】:2020-10-20 04:42:53
【问题描述】:

我在API下面打电话来获取承载access token

POST https://idcs-xxxx.identity.c9dev2.oc9qadev.com/oauth2/v1/token

一旦检索到token,我将在APIs 下方使用相同的token。这些APIs 是单个transaction 的一部分。但是每次我调用这些APIs 时,我都必须通过tokenauthorization。我不想一次又一次地生成token,因为它的有效期为 60 分钟。 如何检查令牌是否过期。。如果它已过期,那么我只想再次生成,否则我想使用现有的。我没有使用任何框架来调用 java 中的 API。我使用的是HttpUrlConnection

GET https://idcs-xxxx.identity-t0.data.digitalassistant.oci.oc-test.com/api/v1/skills

GET https://idcs-xxxx-t0.data.digitalassistant.oci.oc-test.com/api/v1/skills/dynamicEntities

POST https://idcs-xxxx.identity-t0.data.digitalassistant.oci.oc-test.com/api/v1/bots/xxx/v2/yyy

PATCH https://idcs-xxxx.identity-t0.data.digitalassistant.oci.oc-test.com/api/v1/bots/xxx

PUT https://idcs-xxxx.identity-t0.data.digitalassistant.oci.oc-test.com/api/v1/bots/xxx/DONE

【问题讨论】:

    标签: java rest web-services access-token bearer-token


    【解决方案1】:

    可能的概念:编写一个 Helper 类来做 API 请求(例如 MyAPIClient.class)。令牌过期时,大多数 API 将返回 401 HTTP 错误。检查此特定 api 的此行为。如果是这种情况,请在此帮助程序类中获取新令牌并使用新令牌重复请求。获取此令牌后将其缓存 60 分钟(不同的 Java 框架有不同类型的缓存提供程序,您可以使用它)。在任何你想访问 api 的地方使用帮助类

    【讨论】:

      猜你喜欢
      • 2014-04-14
      • 2020-11-08
      • 2016-01-22
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 2020-03-21
      • 2018-10-10
      相关资源
      最近更新 更多