微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 REST API 中指定自定义租户 ID

在 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。但是您可以将返回的租户 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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。