Re: [scim] ExternalId Case Sensitivity

Phillip Hunt <phil.hunt@independentid.com> Wed, 11 March 2020 18:25 UTC

Return-Path: <phil.hunt@independentid.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 3AAD83A10CC for <scim@ietfa.amsl.com>; Wed, 11 Mar 2020 11:25:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=independentid-com.20150623.gappssmtp.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 sPK7ltPgIQ1I for <scim@ietfa.amsl.com>; Wed, 11 Mar 2020 11:25:12 -0700 (PDT)
Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) (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 C1CD23A0140 for <scim@ietf.org>; Wed, 11 Mar 2020 11:25:08 -0700 (PDT)
Received: by mail-pf1-x42a.google.com with SMTP id x2so1426831pfn.9 for <scim@ietf.org>; Wed, 11 Mar 2020 11:25:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=independentid-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=jugPT61jKYS8XK+qkrLQyJykeBHqyXkKn2vcjRJY+5Y=; b=XZ7cbMvn5CVai4UBgd4aMY+e5rNApWJpczfeSQk/b2mRfxChBLeCm7LnybTEtapu31 lmtLpb136MBd5Mki8CxaxND8j4DNzWPxw+NZHT2XuAlTg1HQVVwRhgPBRECl/hm9pmsS 83usKOGrbDXLA+ixh2j4UBbGEIF3vtOZHFHVOO055EQGFV/YQfkXROUex/3uQf4kQ7Cy eNnt9OqY6K4ndu9Lo0gWv/wvVti445f6O0gzuKRrNKLWErZbLYmi+DBpZm2tBKSyHkxb XgAFGLQ2UCcYwteSJJ89X0QGhY526rU0pWNoWJqSDm6CfVLtQJK+SKoH6YsFLHC3Vz9r 5snA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=jugPT61jKYS8XK+qkrLQyJykeBHqyXkKn2vcjRJY+5Y=; b=Lv6/gpytnzTKGZJkfK4pdHBsHZFUc8fFs+e5+aiAi1LAylxzryn57TBDaa923X/gqO 8/UFzQ6U9dlj5tenB7zicmKJmJSRVHuYV+Qr3A+C5vkcmumxhjurhxtqe9Y0VsdbdJTe +s3Cdvd8O95VAzqSUWuDK8FWymhMuSfBfvYxdWYh8zNGSoQZlMONVgvQwn07IwFIeaVO 8jQZ0c0SbaHFAYOJeZIuzMYjAL82+3h2ftLKv2VuhElWAgz0zXjqP8P/arZNIEPyj01d 4tRtlgirTbikaLqH9+N/SJKIc/3U8capRSN16LDjJcS0CeGqqewtpHYOSNFZqFbBIaXl dg5Q==
X-Gm-Message-State: ANhLgQ3T73SJvw279idRj+G8ZiSVDujf4i9XtHKfW8TUWfjRHLIgjeBk dX3Xm7sXqcUb3sHi2SWbiPpZCQ==
X-Google-Smtp-Source: ADFU+vscD2okRsV60pULmMVrl+cI5Zq1ACdtLYT1gUKVpKbgPJrb7AGnj7+zPhjIGnP/YanileQspw==
X-Received: by 2002:a63:b04f:: with SMTP id z15mr3960118pgo.58.1583951108090; Wed, 11 Mar 2020 11:25:08 -0700 (PDT)
Received: from node-1w7jr9qqo6k576qbecgh8vj5m.ipv6.telus.net (node-1w7jr9qqo6k576qbecgh8vj5m.ipv6.telus.net. [2001:569:79bc:100:7c37:eabc:16be:5eba]) by smtp.gmail.com with ESMTPSA id s20sm6051475pfm.154.2020.03.11.11.25.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Mar 2020 11:25:07 -0700 (PDT)
From: Phillip Hunt <phil.hunt@independentid.com>
Message-Id: <4694E06E-1207-4364-8B1B-13A4B1B73764@independentid.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_76AD79FD-1FFF-441E-B180-3FD872FEA7B7"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Wed, 11 Mar 2020 11:25:06 -0700
In-Reply-To: <CAGUsYPzr9UA1r5eNFcjD0vJ-7ApNkvQ=_GE-Q28c=KFd8n4pmQ@mail.gmail.com>
Cc: scim@ietf.org
To: Shelley <randomshelley@gmail.com>
References: <CAGUsYPzr9UA1r5eNFcjD0vJ-7ApNkvQ=_GE-Q28c=KFd8n4pmQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/0hgFwex_FM5f8Gn0bvqPANrwrw8>
Subject: Re: [scim] ExternalId Case Sensitivity
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: Wed, 11 Mar 2020 18:25:14 -0000

Shelley,

This issue and the approach taken had more to do with dealing with legacy systems where some were case-insensistive. Some of the language introduced was to heard implementors toward a case exact approach.

As a general rule, if you are writing a client query:
* if schema says an attribute is caseExact “false", then you can expect matches on filters that are not exact matches and the resulting record may have case differences. 

Phil Hunt
@independentid
phil.hunt@independentid.com



> On Mar 11, 2020, at 6:25 AM, Shelley <randomshelley@gmail.com> wrote:
> 
> Section 3.1 indicates that "externalId" has "caseExact" as "true". However, I would like our service provider's "externalId" attribute to be case-insensitive, but since "externalId" is a "Common Attribute", service providers cannot change its attribute characteristics [1]:
> 
> For backward compatibility, some existing schema definitions MAY list
> common attributes as part of the schema.  The attribute
> characteristics (see Section 2.2) listed here SHALL take precedence
> over older definitions that may be included in existing schemas.
> 
> I have a few related questions:
> What was the reasoning behind making externalId caseExact?
> From the perspective of case preservation, I can understand the use of "caseExact" for externalIds; however, for filtering, it still seems appropriate to search case-insensitively.
> I've seen some past discussions where "externalId" had "caseExact" as "false" (e.g. [2,3]), but it seems to be "true" in the final RFC, and I was unable to trace that decision back to a discussion.
> If I'm not mistaken, externalId was case-insensitive implicitly in SCIM 1.1 as well.
> More generally, perhaps future-thinking (unless this has already been discussed), perhaps "caseExact" may be over-simplified? There are potentially 3 different uses for caseExact, and they may not all share a value:
> Case Preservation: Must the server preserve the case of the attribute?
> Uniqueness: If the attribute is unique, must it be case-sensitively unique?
> Filtering: Should the attribute be filtered case-sensitively? (Perhaps allowing clients to specify case-sensitive filter operators may be more appropriate than making this part of the attribute's characteristics?)
> Should service providers be allowed to change the "common attribute" characteristics to account for cases such as these? The spec currently seems to forbid this.
> [1] https://tools.ietf.org/html/rfc7643#section-3.1 <https://tools.ietf.org/html/rfc7643#section-3.1>
> [2] https://mailarchive.ietf.org/arch/msg/scim/ev7DC2ZUTtaIam4RmcbhSyCF9xE/ <https://mailarchive.ietf.org/arch/msg/scim/ev7DC2ZUTtaIam4RmcbhSyCF9xE/>
> [3] https://mailarchive.ietf.org/arch/msg/scim/NgMipeLaeLlOwpPkrg2Jak7W2-M/ <https://mailarchive.ietf.org/arch/msg/scim/NgMipeLaeLlOwpPkrg2Jak7W2-M/>
> _______________________________________________
> scim mailing list
> scim@ietf.org
> https://www.ietf.org/mailman/listinfo/scim