我正在尝试从另一个应用程序向WSO2 Identity Serverv5.10.0提供用户。
根据文档,我可以通过SCIM2 REST API做到这一点,正如您所看到的here,有一些很好的cURL示例可以传递具有适当权限的用户凭据。
在我的例子中,我唯一拥有的就是由集成到这个WSO2IS中的WSO2应用程序接口管理器生成的client_id和secret。
当我调用在header中传递生成的token的API时,它返回403。
如何从另一个应用程序调用WSO2IS SCIM2接口?
提前感谢!
发布于 2020-10-01 13:46:03
如果您导航到<PRODUCT_HOME>/repository/conf/identity/identity.xml文件,您可以找到如下内容。
<Resource context="(.*)/scim2/Users(.*)" secured="true" http-method="POST">
<Permissions>/permission/admin/manage/identity/usermgt/create</Permissions>
<Scopes>internal_user_mgt_create</Scopes>
</Resource>
<Resource context="(.*)/scim2/Users" secured="true" http-method="GET">
<Permissions>/permission/admin/manage/identity/usermgt/list</Permissions>
<Scopes>internal_user_mgt_list</Scopes>
</Resource> .....这些配置与如何保护每个SCIM端点相关。有关更多详细信息,请访问https://is.docs.wso2.com/en/latest/develop/authenticating-and-authorizing-rest-apis/#secure-resources
如果您使用基本身份验证(用户名和密码),则拥有凭据的用户需要具有相关端点的上述权限。类似地,如果您使用访问令牌,则应使用上述作用域生成它。如果访问令牌没有所需的作用域,您将收到403禁止访问。
例如:为了创建SCIM用户,您应该使用具有internal_user_mgt_create作用域的访问令牌。
https://stackoverflow.com/questions/64145339
复制相似问题