我们目前正在实施基于rfc7643的SCIM 2.0;我们当前的用户数据库不包含任何组,显然是组管理。
我们想知道什么是强制性的,以符合行业。
我们可以简单地实现用户端点,还是实现组/资源端点。
感谢您的帮助
答案 0 :(得分:0)
了解强制性内容的唯一方法是仔细阅读相关的RFC(RFC7643和RFC7644)。
就具体问题而言:首先,是否必须实施群组:RFC7643 section 4说:
此部分定义SCIM中存在的默认资源模式 服务器。 SCIM不是这些资源所独有的,可以扩展 支持其他资源类型
在我的阅读中,这意味着对section 4.2中的RFC中定义的Group模式以及RFC 7644 section 3.2中定义的“/ Groups”端点的支持是强制性的。 (无可否认,如果他们在这些部分实际使用“必须”一词,那么RFC就会更清楚了。)
然而,据我所知,SCIM标准无处要求任何组实际存在,也没有任何特定客户端有权创建它们。因此,如果您的服务器具有组的虚拟实现,其中存在组模式以及/ Groups端点,但实际上不存在任何组,并且任何创建组的尝试都会导致HTTP错误403 - 这将符合。另一个(稍微复杂一点)选项可能是拥有一个“Everyone”组,其中每个人都自动成为其成员,但拒绝任何尝试创建更多组或从“Everyone”组中删除任何403错误的用户。 / p>
您还会询问过滤参数是否必需。 RFC 7644 section 3.4.2.2声明filter=
参数的实现是可选的。但是,startIndex=
和itemsPerPage=
参数不是过滤参数,而是分页参数。 [第3.4.2.4节] https://tools.ietf.org/html/rfc7644#section-3.4.2.2)定义了分页参数,与过滤(和排序)不同,它没有明确地将其定义为OPTIONAL,这意味着它是必需的。此外,服务提供者配置模式RFC 7643 section 5定义了服务器可用于指示其支持哪些可选功能的属性(例如补丁,批量,过滤,排序等);没有属性来指示服务器是否实现了分页,这进一步证明它是强制性的。