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

检索所有架构。