REST Resource: customers.v2.Schemas

资源:Schema

摘自 RFC 7643 第 7 节。指定有关架构的元数据。

JSON 表示法
{
  "attributes": [
    {
      object (Attribute)
    }
  ],
  "id": string,
  "name": string,
  "description": string
}
字段
attributes[]

object (Attribute)

必需。架构的属性列表。

id

string

必需。架构的唯一 URI。如果适用,服务提供商必须指定 URI,例如 urn:ietf:params:scim:schemas:core:2.0:User。与大多数其他架构(使用某种全局唯一标识符 (GUID) 作为 id)不同,架构 id 是一个 URI,因此可以注册,并且可以在不同的服务提供商和客户端之间移植。

name

string

可选。架构的人类可读名称。如果适用,服务提供商必须指定名称,例如 UserGroup

description

string

可选。架构的人类可读说明。如果适用,服务提供商必须指定说明。

属性

摘自 RFC 7643 第 7 节。定义属性的特征。

JSON 表示法
{
  "subAttributes": [
    {
      object (Attribute)
    }
  ],
  "canonicalValues": [
    string
  ],
  "referenceTypes": [
    string
  ],
  "name": string,
  "type": string,
  "multiValued": boolean,
  "description": string,
  "required": boolean,
  "caseExact": boolean,
  "mutability": string,
  "returned": string,
  "uniqueness": string
}
字段
subAttributes[]

object (Attribute)

当属性的类型为 complex 时,subAttributes 会定义一组子属性。subAttributes 具有与 attributes 相同的架构子属性。

canonicalValues[]

string

可选。一组建议使用的规范值(例如 workhome)。在某些情况下,服务提供商可能会选择忽略不受支持的值。

referenceTypes[]

string

一个 JSON 字符串的多值数组,用于指明可以引用的 SCIM 资源类型。有效值如下所示:

  • SCIM 资源类型(例如 UserGroup),
  • external - 表示资源是外部资源(例如照片),或者
  • uri - 表示引用的是服务端点或标识符(例如架构 URN)。

此属性仅适用于类型为 reference 的属性(第 2.3.7 节)。

name

string

属性的名称。

type

string

属性的数据类型。有效值为 stringbooleandecimalintegerdateTimereferencecomplex。当属性的类型为 complex 时,应定义相应的架构属性 subAttributes,列出该属性的子属性。

multiValued

boolean

表示属性的复数形式。

description

string

属性的人类可读说明。如果适用,服务提供商必须指定说明。

required

boolean

指定属性是否为必需属性。

caseExact

boolean

指定字符串属性是否区分大小写。服务器在评估过滤条件时会使用区分大小写。对于区分大小写的属性,服务器会保留提交的任何值的大小写。如果属性不区分大小写,服务器可能会更改提交值的大小写。区分大小写还会影响属性值与过滤条件值的比较方式(请参阅 RFC 7644 第 3.4.2.2 节)。

根据 RFC 7643 第 2.3.6 节RFC 7643 第 2.3.7 节binaryreference 类型是 caseExact

mutability

string

一个关键字,用于指明在哪些情况下可以(重新)定义属性的值:

  • readOnly:属性不可修改。
  • readWrite:默认值。属性可以随时更新和读取。
  • immutable:可以在创建资源(例如 POST)时或通过请求替换记录(例如 PUT)时定义属性。初始定义后,属性不可修改。
  • writeOnly:属性可以随时更新。不会返回属性值(例如,因为该值是存储的哈希值)。注意:可变性为 writeOnly 的属性通常也具有 never 的返回设置。
returned

string

一个关键字,用于指明在响应 GET 请求时或在响应 PUT、POST 或 PATCH 请求时,何时返回属性和关联的值。有效关键字如下所示:

  • always:无论 attributes 参数的内容如何,系统始终会返回该属性。例如,系统始终会返回 id 以标识 SCIM 资源。
  • never:系统永远不会返回该属性。这可能是因为服务提供商未保留原始属性值(例如哈希值)。服务提供商可以允许在搜索过滤条件中使用属性。
  • default:默认值。在返回属性值的所有 SCIM 操作响应中,系统默认会返回该属性。如果指定了 GET 请求 attributes 参数,则仅当 attributes 参数中命名了该属性时,系统才会返回属性值。
  • request:如果客户端指定了该属性(例如修改了该属性),则系统会在响应任何 PUT、POST 或 PATCH 操作时返回该属性。仅当在 attributes 参数中指定了该属性时,系统才会返回 SCIM 查询操作中的该属性。
uniqueness

string

一个关键字值,用于指定服务提供商如何强制执行属性值的唯一性。服务器可能会根据唯一性拒绝无效值,方法是返回 HTTP 响应代码 400 Bad Request。客户端可以在客户端强制执行比服务提供商强制执行的唯一性更高的唯一性。例如,客户端可以使值唯一,而服务器的唯一性为 none。有效关键字如下所示:

  • none:默认值。这些值不应以任何方式具有唯一性。
  • server:该值在当前 SCIM 端点(或租户)的上下文中应该是唯一的,并且可能是全局唯一的(例如,用户名、电子邮件地址或其他服务器生成的键或计数器)。同一服务器上的任何两个资源都不应具有相同的值。
  • global:该值应该是全局唯一的(例如,电子邮件地址、GUID 或其他值)。任何服务器上的任何两个资源都不应具有相同的值。

RFC 7643 第 2.3 节 中所述,BooleanDateTimeBinaryComplex 数据类型不具有唯一性。

方法

get

检索架构。

list

检索所有架构。