无法设置用户 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 声明
我在我的应用程序中使用了 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 声明