【问题标题】:Tapkey Token Exchange returns access token for invalid userTapkey 令牌交换返回无效用户的访问令牌
【发布时间】:2023-07-15 02:23:01
【问题描述】:

关于tapkey令牌交换流程:通过https://login.tapkey.com/connect/token api将jwt令牌交换为访问令牌时,我得到一个访问令牌响应,即使用户不存在。

我的 jwt 令牌包含以下内容:标头:

{
  "alg": "RS256"
}

有效载荷:

{
  "algorithm": "RS256",
  "aud": "local",
  "iat": 1633339589,
  "exp": 1633343189,
  "iss": "tapkey",
  "sub": "NOT_EXISTING_USER_ID"
}

这引发了以下问题:

  1. 当我创建一个 IdentityProviderUser 时,我得到一个 id 和一个 ipUserId 的回报。 jwt-token的"sub"应该是返回的id还是应该"sub"是返回的ipUserId? 在这两种情况下,我都可以检索访问令牌,因为无论我在 "sub" 中定义什么,都会交换访问令牌。
  2. 当移动设备尝试使用不存在的用户访问令牌登录时会发生什么?

【问题讨论】:

    标签: authentication token tapkey


    【解决方案1】:

    对于令牌交换本身,用户是否已经存在并不重要。它只是验证您的签名令牌并将其与 tapkey 系统的令牌交换。

    您的 jwt 令牌的主题应该是 您的 分配的 userId (= ipUserId),它也曾经/将用于创建用户: https://developers.tapkey.io/api/ip_users/#create-identity-provider-user

    广告 2: 默认情况下,当手机尝试使用尚未创建的 id 令牌登录 tapkey mobile sdk 时,将导致错误。

    【讨论】:

      最近更新 更多