包含另一个复杂属性的复杂属性

Complex attribute that holds another complex attribute

根据 RFC7643 section 2.3.8

A complex attribute MUST NOT contain sub-attributes that have sub-attributes (i.e., that are complex).

但是当我在相同的 RFC section 8.7.2 行 88 中阅读架构定义时,我注意到 urn:ietf:params:scim:schemas:core:2.0:Schema 描述是:

  {
    ...
    "attributes" : [
      ...
      {
        "name" : "attributes",
        "type" : "complex",
        "multiValued" : true,
        "description" : "A complex attribute that includes the
          attributes of a schema.",
        "required" : true,
        "mutability" : "readOnly",
        "returned" : "default",
        "subAttributes" : [
          ...
          {
            "name" : "subAttributes",
            "type" : "complex",
            "multiValued" : true,
            "description" : "Used to define the sub-attributes of a
              complex attribute.",
            "required" : false,
            "mutability" : "readOnly",
            "returned" : "default",
            "subAttributes" : [

我错过了什么?

对于所有架构定义,复杂属性可能包含另一个复杂属性。 在RFC7643 section 7中我们可以读到

Unlike other core resources, the "Schema" resource MAY contain a complex object within a sub-attribute, and all attributes are REQUIRED unless otherwise specified.