Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scim: Fix random suffix added to every user on resync #63122

Merged

Conversation

eseliger
Copy link
Member

@eseliger eseliger commented Jun 6, 2024

In the current implementation, we check if there's a user in the database already, and if so we add a random suffix to increase the chances of the insert/update to succeed.

However, we didn't check if the user that already exists is the same user. So for a first sync, usernames would look nice and tidy, but then on a second sync from the SCIM provider, every user would get a suffix.

This PR fixes that by adding a check for the user ID.

Test plan:

Added tests, verified SCIM sync doesn't modify usernames anymore locally.

@cla-bot cla-bot bot added the cla-signed label Jun 6, 2024
@github-actions github-actions bot added team/product-platform team/source Tickets under the purview of Source - the one Source to graph it all labels Jun 6, 2024
Copy link
Member Author

eseliger commented Jun 6, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @eseliger and the rest of your teammates on Graphite Graphite

@eseliger eseliger force-pushed the es/06-06-scimfixrandomsuffixaddedtoeveryuseronresync branch from 4cd0d8a to 11ffd1a Compare June 6, 2024 11:09
In the current implementation, we check if there's a user in the database already, and if so we add a random suffix to increase the chances of the insert/update to succeed.

However, we didn't check if the user that already exists is _the same user_. So for a first sync, usernames would look nice and tidy, but then on a second sync from the SCIM provider, every user would get a suffix.

This PR fixes that by adding a check for the user ID.

Test plan:

Added tests, verified SCIM sync doesn't modify usernames anymore locally.
@eseliger eseliger marked this pull request as ready for review June 6, 2024 11:21
@eseliger eseliger requested a review from a team June 6, 2024 11:21
@eseliger eseliger force-pushed the es/06-06-scimfixrandomsuffixaddedtoeveryuseronresync branch from 11ffd1a to 322de58 Compare June 6, 2024 11:21
@eseliger eseliger requested a review from vdavid June 6, 2024 11:21
@eseliger eseliger merged commit 614375e into main Jun 6, 2024
14 checks passed
@eseliger eseliger deleted the es/06-06-scimfixrandomsuffixaddedtoeveryuseronresync branch June 6, 2024 12:15
@DaedalusG DaedalusG added the backport 5.4.5099 label used to backport PRs to the 5.4.5099 release branch label Jun 6, 2024
@eseliger eseliger added the backport/bugfix Standard patches to fix bugs label Jun 6, 2024
sourcegraph-release-bot pushed a commit that referenced this pull request Jun 6, 2024
In the current implementation, we check if there's a user in the
database already, and if so we add a random suffix to increase the
chances of the insert/update to succeed.

However, we didn't check if the user that already exists is _the same
user_. So for a first sync, usernames would look nice and tidy, but then
on a second sync from the SCIM provider, every user would get a suffix.

This PR fixes that by adding a check for the user ID.

Test plan:

Added tests, verified SCIM sync doesn't modify usernames anymore
locally.

(cherry picked from commit 614375e)
DaedalusG pushed a commit that referenced this pull request Jun 6, 2024
…sync (#63131)

In the current implementation, we check if there's a user in the
database already, and if so we add a random suffix to increase the
chances of the insert/update to succeed.

However, we didn't check if the user that already exists is _the
same user_. So for a first sync, usernames would look nice and tidy, but
then on a second sync from the SCIM provider, every user would get a
suffix.

This PR fixes that by adding a check for the user ID.

Test plan:

Added tests, verified SCIM sync doesn't modify usernames anymore
locally. <br> Backport 614375e from
#63122

Co-authored-by: Erik Seliger <erikseliger@me.com>
@vdavid
Copy link
Contributor

vdavid commented Jun 6, 2024

Oh, good catch, thanks, @eseliger!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/bugfix Standard patches to fix bugs backport 5.4.5099 label used to backport PRs to the 5.4.5099 release branch cla-signed team/product-platform team/source Tickets under the purview of Source - the one Source to graph it all
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants