Use /api/v2/users to find matching emails #119
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Switches back to GET /api/v2/users to find matching email addresses so that the search is case-insensitive.
✏️ Changes
Currently, the extension (both in the rules and in the back end) searches for identities with the same email address with the
GET /api/v2/users-by-email
endpoint. While this endpoint is very efficient, the search it performs is case sensitive. This is a problem for some enterprise identity providers that provide the email address in a capitalized form (e.g.John.Doe@acme.com
instead ofjohn.doe@acme.com
).With PR switches to the
GET /api/v2/users
endpoint, with aq=email:john.doe@acme.com
like query string. This search is case insensitive, allowing matches where the casing is different. The search needs to be changed in two pieces:The slight performance hit from not using
/users-by-email
should be negligent, since the search is only done on the first login of an identity.🔗 References
IUM-1301
🎯 Testing
🚫 This change has been tested in a Webtask
🚫 This change has unit test coverage
🚫 This change has integration test coverage
🚫 This change has been tested for performance
🚀 Deployment
✅ This can be deployed any time
🎡 Rollout
🔥 Rollback
📄 Procedure
🖥 Appliance