创建用户和赠款

Creating users, and grants

我正在创建用户并向他们发放赠款。我对令牌交换有限制,因为这些用户属于不同的 ownerAccount。

我正在做与这里描述的类似的事情 https://developers.tapkey.io/mobile/embedded/getting_started/#creating-a-user 但在服务器上而不是在移动设备上。 我的挑战是应该创建用户的 ownerAccount(具有我想要授予的锁的那个与我的帐户(具有身份提供者)不同,所以我得到一个错误,是否可以创建用户使用 authorization code 作为身份验证模式?

try {
  const user = await axios.put(
    `${this.baseUrl}/owners/${this.ownerAccountId}/identityproviders/${this.provider}/users`,
    {
      'ipUserId': details.userId
    },
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  )
  // create a new contact for the user created above
  const contact = await this.createContactForUser(token, user.data.ipUserId)
  // create grant for contact created above
  await this.createGrantForContact(token, contact.id, details.lockId)
  return user.data.ipUserId

据我从之前的问题中了解到,您正在使用 authorization code 流量而不是 token exchange。在这种情况下,由于您直接使用 Tapkey 凭据,因此不涉及身份提供者。

如果您从 authorization code 流程中检索到 access token,则您可以使用此流程通过 default(= 点击键)身份提供者.

联系人或智能手机用户充当 所有者帐户 和实际 用户 之间的连接器,由电子邮件标识。然后为联系人而不是直接为用户创建授权。

例如,如果您为 alvin@somedomain.com 创建联系人并将授权分配给他,则拥有此类电子邮件的用户是否无关紧要已经存在。他 将收到一封电子邮件,说明分配给他的赠款,是否注册 Tapkey 帐户取决于用户。

因此,在您的情况下,您应该创建一个具有所需标识符(电子邮件地址)的联系人 https://developers.tapkey.io/openapi/tapkey_management_api_v1/#/Contacts/Contacts_Put

然后为此联系人创建赠款 https://developers.tapkey.io/openapi/tapkey_management_api_v1/#/Grants/Grants_Put