15five/scim2-filter-parser

userName attribute should be case-insensitive, per the RFC

Closed this issue · 3 comments

From 15five/django-scim2#76

See https://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1: (userName)
This attribute is REQUIRED and is case insensitive.
Currently this case-insensitive behavior is not implemented and the filter lookups are case-sensitive.

To tackle this problem, we need if there is a db agnostic means of comparing two strings in a case insensitive way. For example, do all databases support UPPER (ie. UPPER(email) = UPPER(test@example.com)`)?

UPPER is part of the SQL standard, and supported by at least MySQL, PostgreSQL, and SQLite.

Pushed another set of changes.