【问题标题】:How to check expiry of access token and send refresh token如何检查访问令牌的到期时间并发送刷新令牌
【发布时间】:2019-01-07 19:19:01
【问题描述】:

我正在制作一个没有登录的应用程序,我已成功获取访问令牌并将其用于另一个 api 的身份验证。但现在我想检查访问令牌是否过期,如果访问令牌过期如何发送刷新令牌

我找到了 refreshableFetch 但我不知道我是否应该使用它,因为它不使用刷新令牌

fetch('URL', {
            method: 'GET',
            headers: {
               etc...
        })
            .then((response) => response.json())
            .then((responseData) => {
                this.setState({data: responseData})
            })

我正在定期获取数据。请建议我检查访问令牌过期和使用刷新令牌的方法

【问题讨论】:

  • 您可以在 api 结束时检查令牌过期并发送响应,例如 { status: false , message: "token expired" }
  • 感谢您的回复,但如何检查我的应用程序中令牌的到期情况
  • 您使用的是自己的 api 还是某些 3rd 方?
  • 我正在使用我自己的 api,到期时间为 36000
  • 您可以在每个令牌字段中存储日期,并检查传入请求时间与您在 db 中的令牌创建时间之间的差异,并按照以下我的回答执行步骤:)

标签: react-native fetch access-token refresh-token


【解决方案1】:

我可以建议你如何实现你的愿望目标的流程

  • 获取访问令牌
  • 之后的每个请求都发送访问令牌。
  • 在服务器端检查每个传入请求令牌是否过期。
  • 如果令牌已过期(我假设您的数据库中有日期)发送 { status: false , message: "token expired" } 否则 { status: true, data: "YOUR DATA", message: "" }

  • 在客户端检查状态,如果状态是false && 消息是token expire 调用刷新令牌api

  • 在刷新令牌 api 中,更新服务器上的新令牌

我试图向您解释流程,因为我不知道您的后端逻辑和代码。希望您能在获得要点后相应地修改代码:)

【讨论】:

    猜你喜欢
    • 2019-04-07
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 2021-08-25
    • 2020-07-12
    • 2018-06-05
    • 2019-05-31
    • 1970-01-01
    相关资源
    最近更新 更多