0

我在 5.4 版中使用带有 ldap 只读用户存储的 wso2is。我启用了 scim2,并且能够按预期通过 /scim2/Users 界面列出用户。当我尝试通过调用 /scim2/groups 接口列出组时,只返回 2 个组:PRIMARY/admin 组 - 我猜这是一个内部组和另一个组,它是从 ldap 获得的。如果我从管理控制台列出角色(组),则会列出更多从 LDAP 导入的角色,奇怪的是,与 Groups 命令列出的组对应的角色不可见。当我调用 /Users 命令时,会在控制台上记录消息:

[2018-02-06 12:49:02,798] DEBUG {org.wso2.carbon.identity.scim2.common.group.SCIMGroupHandler} -  The group MID.Portal.Consulting is not a SCIM group. Skipping..

这条消息是什么意思?

另一个问题:wso2 文档指出“从 5.4.0 开始,使用 WSO2 IS 支持 SCIM 2.0 OOTB。” 在 identity.xml 文件中有 EventListener-Entries

<EventListener type="org.wso2.carbon.user.core.listener.UserOperationEventListener"
                   name="org.wso2.carbon.identity.scim.common.listener.SCIMUserOperationListener"
                   orderId="90" enable="false"/>
    <!-- Enable the following SCIM2 event listener and disable the above SCIM event listener if SCIM2 is used. -->
    <EventListener type="org.wso2.carbon.user.core.listener.UserOperationEventListener"
                   name="org.wso2.carbon.identity.scim2.common.listener.SCIMUserOperationListener"
                   orderId="93" enable="true"/>

有什么意义吗?

4

1 回答 1

0

Identity Server 对 SCIM 1.1 和 2.0 有 2 个单独的实现。在 IS 5.4.0 之前,只有 SCIM 1.1 实现与产品打包 OOTB。SCIM 2.0 实施可在连接器商店中下载并安装到 Identity Server。从 IS 5.4.0 开始,1.1 和 2.0 实现均在产品中提供 OOTB。

未在只读用户存储中显示组的问题实际上是 Identity Server 中的一个限制。仅从用户存储中读取组名和成员。组 ID 和与组相关的所有其他元数据都保存在 Identity Server 数据库中。仅当从 Identity Server 创建组时才会生成组的 ID。因此,由于此限制,SCIM 组操作将无法与只读用户存储一起正常工作。

编辑:由于您的用户存储是只读的,因此更改 EventListener 不会有太大区别。但最好做正确的配置。如果那里的用户存储是可读写的,那么您一定要进行此配置。

于 2018-02-09T05:30:56.087 回答