问题描述
运行 WSO2IS v5.11.0。使用 addTenant endpoint 创建域“example.com”的租户后,我执行以下 REST 调用来检索它
GET https://host:port/t/carbon.super/api/server/v1/tenants/domain/example.com
与 the docs 中记录的内容相反,响应不包含租户的 ID。回复如下:
{
"domain": "example.com","owners": [
{
"username": "test@example.com"
}
],"createdDate": "2021-02-04T14:43:53.598Z","lifecycleStatus": {
"activated": true
}
}
解决方法
似乎是 IS-5.11.0 中的一个错误。如果您尝试最新的里程碑版本 5.12.0-m9,您可以在请求中检索租户 ID。
修复 https://github.com/wso2/carbon-kernel/pull/2869 应该在最近的里程碑版本中解决了该问题。所以你可以把它打到 5.11.0 并使用。
在 IS-5.11.0 中,
如果您使用 POST request 创建租户并通过其域 GET https://host:port/api/server/v1/tenants/domain/example.com
检索租户,则租户 UUID 将不会返回。
如果您按照以下步骤操作:
- 使用 POST request 创建租户
- 在响应头中找到 Location 头并获取租户 UUID
- 在 GET /tenants/{tenant-id} 之前获取租户
- 接下来通过域
GET https://host:port/api/server/v1/tenants/domain/example.com
获取租户 - 现在您将获取租户 UUID(由于第 3 步中的请求,租户对象可能会以其唯一 ID 进行缓存)
所以这不是 API 级别的问题。上面提到的碳内核修复应该已经修复了核心级别的问题。