【问题标题】:Adding a user to WSO2 Identity Server将用户添加到 WSO2 身份服务器
【发布时间】:2020-06-25 12:03:50
【问题描述】:



我们正在将我们的 asp.net MVC 客户端与 WSO2 的 Identity Server v5.8.0 集成。 以下是我们遵循的步骤:
1) 为我们的 MVC 应用程序创建了一个服务提供者,并使用 OAuth/OpenID 配置配置了入站身份验证,还使用主用户存储配置了入站配置。
2) 在我们的 MVC 应用程序中,我们使用 OWIN 的 WSO2 NuGet 包以及从服务提供商生成的客户端 ID 和客户端密钥设置了 WSO2 配置。
3) 我们已将 MongoDB 配置为我们的主要用户存储。

现在我们正在尝试使用 SCIM2 API (https://localhost:9443/scim2/Users) 添加用户。以下是我们收到的回复:

{"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"Cannot add user through scim to user store . SCIM is not enabled for user store WSO2.COM","status":"500"}

我什至在 user-mgt.xml 中更改了下面的配置

<Property name="SCIMEnabled">true</Property>

我们还需要配置什么?除了使用 SCIM API 之外,还有其他方法可以在 WSO2 身份服务器中添加用户吗?

【问题讨论】:

    标签: wso2 wso2is


    【解决方案1】:

    您似乎有两个用户存储,主用户存储和一个名为 wso2.com 的辅助用户存储。通过添加

    <Property name="SCIMEnabled">true</Property>
    

    对于 user-mgt.xml,您将 SCIM2 启用到主要用户存储。不是二级用户存储。但是从 API 中,您将用户添加到辅助用户存储中。由于您尚未在辅助用户存储中启用 SCIM,因此您会收到此错误。你有两个选择。

    1) 将用户添加到 PRIMARY 用户存储

    通过分析错误,您正在获取您尝试添加的用户的用户名应该类似于

    WSO2.COM/Abhishek
    

    把这个改成

    Abhishek
    

    2) 在二级用户存储中启用 SCIM2

    登录管理控制台,点击身份菜单下用户存储子菜单中的列表。 用户存储管理页面打开。应该有一个名为 WSO2.COM 的用户存储 点击编辑。点击高级勾选启用scim

    参考:https://docs.wso2.com/display/IS580/Using+the+SCIM+2.0+REST+APIs

    【讨论】:

    • {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"添加用户时出错:kimjackson 到用户存储。访问 Java Security Manager Privilege Block 时发生错误,当由具有 6 个长度的 Objects 和 argTypes [class java.lang.String, class java.lang.Object, class [Ljava.lang.String;, interface java.util.映射,类 java.lang.String,boolean]","status":"500"}
    • 请求:request.AddHeader("Content-Type", "application/json"); request.AddHeader("授权", "基本 YWRtaW46YWRtaW4="); request.AddParameter("application/json", "{\"schemas\":[],\"created\": \"2020-03-16T14:36:38.482Z\",\"name\":{\ "familyName\":\"jackson\",\"givenName\":\"kim\"},\"userName\":\"kimjackson\",\"密码\":\"kimwso2\",\" emails\":[{\"primary\":true,\"value\":\"kim.jackson@gmail.com\",\"type\":\"home\"},{\"value\ ":\"kim_j@wso2.com\",\"type\":\"work\"}]}", ParameterType.RequestBody);
    • 您得到的错误是一般错误,因此请启用 org.wso2.carbon.user.core 调试日志并重现问题,然后附上日志is.docs.wso2.com/en/5.9.0/setup/monitoring-logs/…
    • TID: [-1234] [] [2020-03-18 16:18:49,368] WARN {org.apache.cxf.phase.PhaseInterceptorChain} - 应用程序 {resources.provider.scim2.identity.carbon.wso2.org}UserResource 已抛出异常,现在展开 org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162) 处 org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker .java:128) 在 org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:193) 在 org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:103)
    • TID: [-1234] [] [2020-03-18 16:18:49,370] 警告 {org.apache.cxf.phase.PhaseInterceptorChain} - 拦截器 org.apache 上的 handleFault 异常。 cxf.jaxrs.interceptor.JAXRSDefaultFaultOutInterceptor@474aab3f org.apache.cxf.interceptor.Fault 在 org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162) 在 org.apache.cxf.service.invoker。 AbstractInvoker.invoke(AbstractInvoker.java:128) at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:193)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    相关资源
    最近更新 更多