将用户添加到 WSO2 租户 returns 401 未经授权
Adding user to WSO2 tenant returns 401 Unathorized
我正在尝试将用户添加到租户。为此,我做了以下事情:
- 在 WSO2 实例中创建租户
- 根据租户服务提供商的客户端密钥和机密生成访问令牌
- 使用生成的令牌执行端点https://localhost:9443/t/carbon.super/{tenantId}/api/server/v1/scims2/Users,其中tenantId是租户的id。
执行端点后,我收到错误 401 Unauthorized。知道我做错了什么吗?
我不确定它是否相关,但我注意到当我从主 WSO2 实例(不是租户)生成访问令牌时,我得到了这些范围
"scope": "internal_list_tenants internal_user_mgt_create"
但是,当我使用相同范围的租户客户端密钥和密码生成类似令牌时,我只看到
"scope": "internal_user_mgt_create"
我想这很好,因为 createUser 只需要这个范围,但 401 可能是由于无法获得 internal_list_tenants 所需的租户范围?
不正确的 URL 是 401
响应的原因。
在这里,您使用的 URL (https://localhost:9443/t/carbon.super/{tenantId}/api/server/v1/scims2/Users
) 不正确。
为了在名为 abc.com
的租户中创建用户,您需要调用端点
https://localhost:9443/t/abc.com/scim2/Users
一般来说,如果要在租户中创建用户,端点是:
https://<host>:<port>/t/<tenant-domain>/scim2/Users
如果URL中没有指定租户,则认为是超级租户(carbon.super)(https://<host>:<port>/scim2/Users
等于https://<host>:<port>/t/carbon.super/scim2/Users
)。
"scope": "internal_user_mgt_create"
足以成功执行用户创建 rest API。如果缺少所需的 scope/permissions,您将收到 403
回复。
我正在尝试将用户添加到租户。为此,我做了以下事情:
- 在 WSO2 实例中创建租户
- 根据租户服务提供商的客户端密钥和机密生成访问令牌
- 使用生成的令牌执行端点https://localhost:9443/t/carbon.super/{tenantId}/api/server/v1/scims2/Users,其中tenantId是租户的id。
执行端点后,我收到错误 401 Unauthorized。知道我做错了什么吗?
我不确定它是否相关,但我注意到当我从主 WSO2 实例(不是租户)生成访问令牌时,我得到了这些范围
"scope": "internal_list_tenants internal_user_mgt_create"
但是,当我使用相同范围的租户客户端密钥和密码生成类似令牌时,我只看到
"scope": "internal_user_mgt_create"
我想这很好,因为 createUser 只需要这个范围,但 401 可能是由于无法获得 internal_list_tenants 所需的租户范围?
不正确的 URL 是 401
响应的原因。
在这里,您使用的 URL (https://localhost:9443/t/carbon.super/{tenantId}/api/server/v1/scims2/Users
) 不正确。
为了在名为 abc.com
的租户中创建用户,您需要调用端点
https://localhost:9443/t/abc.com/scim2/Users
一般来说,如果要在租户中创建用户,端点是:
https://<host>:<port>/t/<tenant-domain>/scim2/Users
如果URL中没有指定租户,则认为是超级租户(carbon.super)(https://<host>:<port>/scim2/Users
等于https://<host>:<port>/t/carbon.super/scim2/Users
)。
"scope": "internal_user_mgt_create"
足以成功执行用户创建 rest API。如果缺少所需的 scope/permissions,您将收到 403
回复。