无法设置用户 ID,jwt 被拒绝:禁止:无效的 JWT 颁发者

Could not set user id, jwt rejected: Forbidden: Invalid JWT issuer

我在我的应用程序中使用了 Pusher Beams,它在 2 天前一直运行良好。它已停止并出现此错误:

Could not set user id, jwt rejected: Forbidden: Invalid JWT issuer

知道如何解决这个问题吗?它与服务器端有关还是在 android?

 fun setPusherBeam(userId: String){

     PushNotifications.start(context, BuildConfig.INSTANCE_ID)

     val tokenProvider = BeamsTokenProvider(
                    BuildConfig.PUSHER_BEAM,
                    object : AuthDataGetter {
                        override fun getAuthData(): AuthData {
                            return AuthData(
                                headers = hashMapOf(
                                    "Authorization" to auth_token_key)

                                ),
                                queryParams = hashMapOf()
                            )
                        }
                    }
                )

               

                PushNotifications.setUserId(
                    userId,
                    tokenProvider,
                    object : BeamsCallback<Void, PusherCallbackError> {
                        override fun onFailure(error: PusherCallbackError) {
                            Timber.d("Beams login failed: ${error.message}")
                        }

                        override fun onSuccess(vararg values: Void) {
                            Timber.d("Beams login success ")
                        }
                    }
                )

            } catch (ex: Exception) {
                Timber.d("Beams ex ${ex.localizedMessage}")
            }
        }
}

您的 jwt 令牌似乎不再具有相同的发行者声明,因此您的令牌提供商(在本例中为 PusherBeam)无法验证令牌,因此失败。

要检查您的令牌是否有任何更改,您可以访问 https://jwt.io 网站,粘贴您的 jwt 令牌,然后查看 iss 声明(发行者)的值是否与您提供的令牌不同期望。 如果这不是问题,您还应该检查其他声明(exp 以确保令牌未过期,aud 以确保包含必须接收令牌的服务......)但阅读错误必须是问题与 iss 声明