访问令牌的逻辑

问题描述 投票:0回答:1

我正在学习从移动应用程序制作API请求。

我正在使用的API,在发出登录请求时返回access_token,expires_in和refresh_token。

我试图了解访问令牌想法背后的整个逻辑,一直在互联网上寻找,找不到一个好的例子也不是一个好的解释。

据我所知,

制作API请求的最佳方法是:

1)将expires_in存储在设备内部2)在每个请求中首先检查令牌是否过期3)如果是,则使用刷新令牌请求新的4)否则发出请求

这是正确的吗?

swift api token access
1个回答
0
投票

你的流程基本上是正确的。 如果是JWT令牌,则可以对其进行解码。在里面你可以找到一些属性,检查here。 您可以做的是使用令牌的iat属性,其中包含令牌发出的时间(您不能依赖于从WS收到的日期)将到期时间添加到该日期,这将是到期日期。 如果您使用Alamofire非常简单,有两种协议:

  • RequestAdapter
  • RequestRetrier

通过使用两者的组合,您可以轻松刷新令牌,在请求适配器中,如果令牌过期,您可以抛出错误,在更复杂的情况下,您可以拦截此特定错误并发出刷新令牌请求。 它解释了here

© www.soinside.com 2019 - 2024. All rights reserved.