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