如果服务器不处理所有属性,是否应该更改模式?

Should the schema be altered if the server does not handle all attributes?

如果我们的 SCIM 服务器只处理核心用户模式中的一小部分属性,而忽略大部分其他属性: 服务器是否应该 return 一个简化的模式来反映模式端点所支持的内容? 或者它应该 return 完整的默认核心架构定义?

如果更改架构以反映服务器实际支持的内容,它是否仍应命名为 urn:ietf:params:scim:schemas:core:2.0:User,还是需要使用不同的名称?

Should the server return a reduced schema that reflects what is supported on the schemas endpoint?

是的。

Or should it return the full default core schema definition?

没有

服务提供商可以自由省略属性和更改属性特征,前提是它不更改 RFC 中列出的任何其他要求,也不 重新定义 属性。发现端点(包括“/Schemas”)的目的是为服务提供商提供指定其架构定义的能力。

And if the schema is altered to reflect what the server actually supports, should it still be named urn:ietf:params:scim:schemas:core:2.0:User, or does it need to get a different name?

如果您满足上述条件,架构应继续命名 urn:ietf:params:scim:schemas:core:2.0:User。但是,您应该使用未在 RFC 中定义的 new attributes/resources 的自定义资源 and/or 扩展。

我同意 RFC 可能对此更清楚,但自始至终都有一些提示,例如来自 Section 2 的以下内容:

SCIM's support of schema is attribute based, where each attribute may have different type, mutability, cardinality, or returnability. Validation of documents and messages is always performed by an intended receiver, as specified by the SCIM specifications. Validation is performed by the receiver in the context of a SCIM protocol request (see [RFC7644]). For example, a SCIM service provider, upon receiving a request to replace an existing resource with a replacement JSON object, evaluates each asserted attribute based on its characteristics as defined in the relevant schema (e.g., mutability) and decides which attributes may be replaced or ignored.

其他参考资料: