如果我们的 SCIM 服务器只处理核心用户模式中的一小部分属性而忽略大多数其他属性:服务器是否应该返回反映模式端点支持的简化模式?还是应该返回完整的默认核心架构定义?
如果架构被更改以反映服务器实际支持的内容,它是否仍应命名为urn:ietf:params:scim:schemas:core:2.0:User
,还是需要获得不同的名称?
服务器是否应该返回反映架构端点支持的简化架构?
是的。
还是应该返回完整的默认核心架构定义?
不。
服务提供商可以自由地省略属性和更改属性特征,前提是它不会更改 RFC 中概述的任何其他要求,也不会重新定义属性。发现端点(包括“/Schemas”)的目的是为服务提供者提供指定其模式定义的能力。
如果架构被更改以反映服务器实际支持的内容,它是否仍应命名为
urn:ietf:params:scim:schemas:core:2.0:User
,还是需要获得不同的名称?
如果您满足上述条件,则架构应继续命名为urn:ietf:params:scim:schemas:core:2.0:User
. 但是,您应该为 RFC 中未定义的新属性/资源使用自定义资源和/或扩展。
我同意 RFC 可能对此更清楚,但自始至终都有一些提示,例如第 2 节中的以下内容:
SCIM 对模式的支持是基于属性的,其中每个属性可能具有不同的类型、可变性、基数或可返回性。正如 SCIM 规范所指定的,文档和消息的验证始终由预期的接收者执行。验证由接收方在 SCIM 协议请求的上下文中执行(参见 [RFC7644])。例如,SCIM 服务提供者在接收到用替换 JSON 对象替换现有资源的请求时,会根据相关模式中定义的特性(例如,可变性)评估每个断言的属性,并决定哪些属性可以被替换或忽略。
附加参考: