[scim] Attributes Request Parameter and Sub-Attributes

Shelley <randomshelley@gmail.com> Fri, 11 September 2020 14:49 UTC

Return-Path: <randomshelley@gmail.com>
X-Original-To: scim@ietfa.amsl.com
Delivered-To: scim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 05B533A0AE6 for <scim@ietfa.amsl.com>; Fri, 11 Sep 2020 07:49:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.697
X-Spam-Level:
X-Spam-Status: No, score=-0.697 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BFpafgdWrcJT for <scim@ietfa.amsl.com>; Fri, 11 Sep 2020 07:49:10 -0700 (PDT)
Received: from mail-ua1-x92d.google.com (mail-ua1-x92d.google.com [IPv6:2607:f8b0:4864:20::92d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 69B0B3A0A74 for <scim@ietf.org>; Fri, 11 Sep 2020 07:49:10 -0700 (PDT)
Received: by mail-ua1-x92d.google.com with SMTP id l1so3183162uai.3 for <scim@ietf.org>; Fri, 11 Sep 2020 07:49:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=9XQmxeYOWwGwM5Be2rzeBYpu8rSxJh3POovhy1I9Q5Y=; b=J2ydWtQNvKLxoPvp1PJbismQVnjJuMkG0vc+PfyhP8xtmRQ3lxE6easTRN7DxEcJ1L cgCnnpchya+KJCUvNoLKdeFkF3E2nrTSAen5fmdmDMoSaSx5c36VvYhhceJQDJ/p03M/ IEY4uMuAoYCExQuOVth4YlPnGutHowjtNGyp1Xwok8Fuhqh6xLgTkn6rM3+YsU9pJm96 d5NZN+k1zRGJYlXr8kcZdIACN4kWw3bMMFiLfCYHyEy918kUO042nBRZ2fwnYtod/02P v3+qV96bzkbHTvQuEWtgKcPhBNAA6CJ3edt1Qy/3Vkk2faWhBuiCvN2LH2c58akRZ1gq CX0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=9XQmxeYOWwGwM5Be2rzeBYpu8rSxJh3POovhy1I9Q5Y=; b=RqKwDZKcnmpbqGpV9z1xiL/SBSo/byfS6xXCa7m2YbLDczbfMD8gBjGA2Z0uJqXCRX ruly0tYfVH0VQoL1C8wDJp4hpOr8VITQ9qeZ93VgdQ3D+BraA3k7UX+el9iitJRi003c BvIiDgUnFjxyHbjbZ4BZ9GEHpCh9sv6JftzOOvnuBA/r0VJOSL58b+CarHdCS17lWvLS LdlBm5uRZL8A5wmy3U52udGgX62bTuaJHNOuT18Lu+Yf2CacraU43KxjutIEFesVPl9i KkTSXCSotwmjeuUh5DADbvsIHw7aEP2WxUvx6fRJ9S54De+ET1IP3LmkULX1Lcbn8QAq 2nog==
X-Gm-Message-State: AOAM533egXx2qXmY4t1KJWcomLbM2imC9qYgL7EsQ1GuoAC7F+B4Jd6Y AvGsMcza80Ojm9KtZVhv2ureuhTIOBoYHBugzjPRFRWwR1xYhw==
X-Google-Smtp-Source: ABdhPJy9shSiak8cpFUwUGe2N3MSy+nyHQXFzaJ9zZFGmm1hL4CezAouZxToK4XOc6y2NrxNb/JzoKsOZKY1NLJh+Sw=
X-Received: by 2002:a9f:36ca:: with SMTP id p68mr1152958uap.96.1599835749252; Fri, 11 Sep 2020 07:49:09 -0700 (PDT)
MIME-Version: 1.0
From: Shelley <randomshelley@gmail.com>
Date: Fri, 11 Sep 2020 09:48:58 -0500
Message-ID: <CAGUsYPxeyMYqMuZcfhvdE7Sdnf3F2iFPVYYtrXAW06ZT2JTt_A@mail.gmail.com>
To: scim@ietf.org
Content-Type: multipart/alternative; boundary="00000000000088839705af0ac922"
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/0EdVcK714jht8uTRu8_N26Mlh7M>
Subject: [scim] Attributes Request Parameter and Sub-Attributes
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Simple Cloud Identity Management BOF <scim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/scim>, <mailto:scim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scim/>
List-Post: <mailto:scim@ietf.org>
List-Help: <mailto:scim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/scim>, <mailto:scim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Sep 2020 14:49:12 -0000

I just wanted to get some clarification regarding the "attributes" request
parameter when specifying sub-attributes.

When a consumer requests a default-scoped sub-attribute using the
"attributes" parameter but does *not* specify the corresponding
default-scoped parent attribute, or vise-versa (such that they specify the
attribute, but not the desired sub-attributes), I'm assuming the
sub-attribute should *NOT* be returned?

For instance, given the following attribute, sub-attributes, and "returned"
characteristics (other characteristics omitted for brevity):

{
    "name": "emails",
    "returned": "default"
    "type": "complex",
    "multiValued": true,
    "subAttributes": [
        {
            "name": "primary",
            "returned": "default",
            ...
        },
        {
            "name": "type",
            "returned": "default",
            ...
        },
        {
            "name": "value",
            "returned": "default",
            ...
        }
    ],
    ...
}

If a caller requests just the "emails.value" attribute, but does not
specify "emails" in the attribute list, the "emails.value" will *not *be
returned?

GET /Users/2819c223-7f76-453a-919d-413861904646?attributes=emails.value
{
  "id": "2819c223-7f76-453a-919d-413861904646"
}

Likewise, if a caller requests just the "emails" attribute, but does not
specify any sub-attributes in the attributes list, the sub-attributes will
not be returned?

GET /Users/2819c223-7f76-453a-919d-413861904646?attributes=emails.value
{
  "id": "2819c223-7f76-453a-919d-413861904646",
  "emails": [{},{}]
}

Instead, based on my interpretation of the RFC, it seems that the caller
must specify *both* the "emails" attribute and the "emails.value"
sub-attribute in order to return the sub-attributes?

GET
/Users/2819c223-7f76-453a-919d-413861904646?attributes=emails,emails.value
{
  "id": "2819c223-7f76-453a-919d-413861904646",
  "emails": [
    {
      "value": "bjensen@example.com"
    },
    {
      "value": "babs@jensen.org"
    }
  ]
}

Please let me know if this understanding is correct, or if I'm overlooking
some kind of special treatment defined in the spec that includes transitive
retrieval for parent/sub-attributes. Thank you!