【问题标题】:Ktor IO client, how to prevent multiple refreshTokens invocationKtor IO客户端,如何防止多次refreshTokens调用
【发布时间】:2021-11-24 12:46:21
【问题描述】:

我已经使用bearer 令牌实现了Auth 功能。这是我的refreshTokens 实现

refreshTokens {
    val fullUrl = "$baseUrl/auth/token:refresh"
    val refreshToken = preference.get(PreferenceKeys.REFRESH_TOKEN.key)
    val authData = tokenClient.post<AuthResponse>(fullUrl) {
        body = AuthResponse(null, refreshToken)
        header(HttpHeaders.ContentType, ContentType.Application.Json)}
    BearerTokens(
        accessToken = authData.accessToken ?: "",
        refreshToken = authData.refreshToken ?: "")
}

如果只发出一个请求,它会按预期工作,但如果多个请求同时收到 401 UnAuthorized 错误,则此回调会触发多次。是否有任何锁定机制,我应该实施以防止多个令牌刷新? 谢谢

【问题讨论】:

    标签: kotlin-multiplatform-mobile


    【解决方案1】:

    由于版本2.0.0-beta-1,他们为需要刷新令牌的请求创建了一个队列 将此链接视为新功能:

    https://github.com/ktorio/ktor/releases/tag/2.0.0-beta-1

    这是问题编号: https://youtrack.jetbrains.com/issue/KTOR-3325

    【讨论】:

      猜你喜欢
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 2018-04-12
      • 1970-01-01
      • 2021-06-04
      • 2021-07-07
      • 1970-01-01
      相关资源
      最近更新 更多