Skip to content

Comparison filters do not support case-insensitive matching #115

Open
@BrandonGoddard-at

Description

@BrandonGoddard-at

I believe there is an issue where comparison filters on string type attributes do not support case insensitive matching. I think this should be supported based on reading
https://datatracker.ietf.org/doc/html/rfc7643#section-7

caseExact  A Boolean value that specifies whether or not a string
         attribute is case sensitive.  The server SHALL use case
         sensitivity when evaluating filters.  For attributes that are
         case exact, the server SHALL preserve case for any value
         submitted.  If the attribute is case insensitive, the server
         MAY alter case for a submitted value.  Case sensitivity also
         impacts how attribute values MAY be compared against filter
         values (see [Section 3.4.2.2 of [RFC7644]](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2)).

and
https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2

When comparing attributes of type String, the case sensitivity for
   String type attributes SHALL be determined by the attribute's
   "caseExact" characteristic (see [Section 2.2 of [RFC7643]](https://datatracker.ietf.org/doc/html/rfc7643#section-2.2)).

i.e. a filter of displayName eq \"TestGroup\" should match testGroup and TestGROUP, etc.

I ran into this issue when trying to get an Azure AD app approved, and it looks like this is their interpretation of the spec as well

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions