问题描述
SCIM RFC 7643 第 7 节描述了模式定义,“返回的”期望以下值之一:-
- 总是
- 从不
- default - 在所有 SCIM 中默认返回该属性 返回属性值的操作响应。如果 指定了 GET 请求“属性”参数, 仅当属性被命名时才返回属性值 在“属性”参数中。
- request - 响应任何 PUT 返回该属性, POST 或 PATCH 操作(如果该属性是由指定的) 客户端(例如,属性被修改)。这 只有在 SCIM 查询操作中返回属性 在“属性”参数中指定。
我的问题是关于“默认”和“请求”值。 我有一个用例,该属性应该在 GET 请求中返回,只有在使用“属性”的查询参数中显式请求时。 我在“请求”属性描述中看到,我期望的行为仅适用于“POST”、“PATCH”和“PUT”。我什至可以将它用于 GET 吗?
参考文献 - enter link description here
解决方法
是的,你可以。 在“请求”返回类型的描述中,提到了,
只有在指定时,才会在 SCIM 查询操作中返回该属性 在“属性”参数中。
SCIM 查询操作包括两者
-
使用
GET /<Scim Resource>
查询资源 (https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.1) -
使用
POST /<Scim Resource>/.search
(https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.3) 查询资源
在有效 SCIM 端点的末尾包含“/.search”SHALL 用于指示 HTTP POST 动词旨在作为查询 操作
因此,如果您有任何具有“返回”特征 =“请求”的属性,则只有在您的 scim 资源查询请求中的“属性”中指定这些属性时,这些属性才会在查询操作的响应中返回。