在 REST 中指定自定义租户 ID API

Specifying custom tenant id in REST API

在 SOAP Teanant API 中,我可以定义自己的租户 ID (https://docs.wso2.com/display/IS530/Managing+Tenants+with+APIs#ManagingTenantswithAPIs-addTenant()),但在 REST API 中,此功能不可用。我想使用自定义 tenantId 的原因是我可以将多租户从 WSO2 域映射到我的应用程序域,从而使用 id 作为桥梁。 addTenant 端点的请求 JSON 中有 additonalClaims 元素,但 getTenant 端点中未返回此元素。是否有其他租户 属性 我可以用来存储自定义信息?

租户创建 REST API 不允许输入租户 ID。但是您可以将 returned 租户 ID 用于映射目的。 使用 API 成功创建租户后,它应该 return 201 Cretaed status 代码,您将能够在响应 header 中找到 Location header。位置 header 包含租户的位置。 https://<Host>:<port>/t/<tenant-domain>/api/server/v1/tenants/<tenant-id>。您可以从该值中提取租户 ID。

对于问题的第二部分: additonalClaims 属性属于 tenant owners 不属于核心租户 object。当您执行 GET /tenants 或 GET /tenants/ 请求时,所有者的 ID 和用户名被 returned.

 "owners": [
        {
            "id": "af01d6cf-bf5d-440f-b99c-ac482f6dc89f",
            "username": "kim"
        }
    ]

如果您通过 carbon console/console 查看租户所有者的个人资料,您应该会看到通过请求添加的额外声明。此外,如果该添加的本地声明映射到 SCIM 声明(例如:http://wso2.org/claims/mobile) you would view that user properties via SCIM GET User API.

例如:https://<host>:<port>/t/<tenant-domain>/scim2/Users/<tenant-ownser's-id>