[scim] Query on a specific known resource

Julien Schneider <julien@audriga.com> Wed, 06 July 2022 08:41 UTC

Return-Path: <julien@audriga.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 1DB9DC15C136 for <scim@ietfa.amsl.com>; Wed, 6 Jul 2022 01:41:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hBKKmYkGwZqq for <scim@ietfa.amsl.com>; Wed, 6 Jul 2022 01:41:20 -0700 (PDT)
Received: from mail.audriga.com (mail.audriga.com [176.221.42.35]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F312AC15A720 for <scim@ietf.org>; Wed, 6 Jul 2022 01:41:19 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.audriga.com (Postfix) with ESMTP id 3A32FA190 for <scim@ietf.org>; Wed, 6 Jul 2022 10:41:17 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mail.audriga.com
Received: from mail.audriga.com ([127.0.0.1]) by localhost (mail.audriga.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lKUG7qBNzuu8 for <scim@ietf.org>; Wed, 6 Jul 2022 10:41:14 +0200 (CEST)
Received: from [192.168.1.142] (82-64-240-242.subs.proxad.net [82.64.240.242]) (Authenticated sender: julien@audriga.com) by mail.audriga.com (Postfix) with ESMTPSA id 003EAA0B5 for <scim@ietf.org>; Wed, 6 Jul 2022 10:41:13 +0200 (CEST)
Content-Type: multipart/alternative; boundary="------------1BIQV0eZGi2hH0d6GJtTprgx"
Message-ID: <bc9c53f8-82fd-57e9-8fe0-166e91048d6b@audriga.com>
Date: Wed, 06 Jul 2022 10:41:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1
Content-Language: en-US
From: Julien Schneider <julien@audriga.com>
To: scim@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/TEc0Yhz7o7MNSxLIqxPbeGxkDKg>
Subject: [scim] Query on a specific known resource
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.39
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: Wed, 06 Jul 2022 08:41:24 -0000

Hi all,

I have a question about queries performed against a SCIM resource object 
(like "/Users/{id}").

The RFC (https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2) 
states:

Responses MUST be identified using the following URI:
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"


If I understand correctly, that means the "schemas" parameter of the 
response to those queries must be set to:

"schemas":["urn:ietf:params:scim:api:messages:2.0:ListResponse"]


While I understand how that applies to queries on a resource type 
endpoint (like "/Users") or on the SCIM server root, I don't understand 
how that applies to queries on a specific resource object.
If I understand correctly, queries on a specific resource object 
actually are quite identical to "retrieving a known resource" 
(https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.1) which are 
a GET on a specific resource, like:

GET /Users/2819c223-7f76-453a-919d-413861904646

Responses to those requests should have the "schemas" parameter set to 
the resource schema(s):

{
      "schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],
      "id":"2819c223-7f76-453a-919d-413861904646",
...
}


Now, how should the response to the following query should look like? 
And to what value should the "schemas" parameter of the response be set?

GET /Users/2819c223-7f76-453a-919d-413861904646?attributes=userName


Should it be:

    {
      "schemas":["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
      "totalResults":1,
      "Resources":[
        {
          "id":"2819c223-7f76-453a-919d-413861904646",
          "userName":"bjensen"
        }
      ]
    }


Or something like:

    {
      "schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],
      "id":"2819c223-7f76-453a-919d-413861904646",
      "meta":{
        "resourceType":"User",
        "created":"2011-08-01T18:29:49.793Z",
        "lastModified":"2011-08-01T18:29:49.793Z",
        "location":
    "https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
        "version":"W\/\"f250dd84f0671c3\""
      },
      "userName":"bjensen"
    }


Thanks a lot in advance

-- 
Julien Schneider
Tel: +49 721 170293 16
Fax: +49 721 170293 179

http://www.audriga.com  |http://www.twitter.com/audriga

--------------------------------------------------------------------------
audriga GmbH |  Alter Schlachthof 57  | 76137 Karlsruhe
Sitz der Gesellschaft: Karlsruhe - Amtsgericht Mannheim - HRB 713034
Geschäftsführer: Dr. Frank Dengler, Dr.-Ing. Hans-Jörg Happel
--------------------------------------------------------------------------