【问题标题】:Specifying custom tenant id in REST API在 REST API 中指定自定义租户 ID
【发布时间】:2020-12-20 21:43:44
【问题描述】:

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

【问题讨论】:

    标签: wso2 wso2is


    【解决方案1】:

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

    对于问题的第二部分: additonalClaims 属性属于 tenant owners 不属于核心租户对象。执行 GET /tenants 或 GET /tenants/ 请求时,会返回所有者的 id 和用户名。

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

    如果您通过 carbon 控制台/控制台检查租户所有者的个人资料,您应该会看到通过请求添加的其他声明。此外,如果添加的本地声明映射到 SCIM 声明(例如:http://wso2.org/claims/mobile),您将通过 SCIM GET User API 查看该用户属性。

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

    【讨论】:

    • 我意识到我可以在我的域中使用tenantId,我希望这个过程是自下而上的。我将使用可用的东西。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2019-12-04
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多