Auth::User classes do too much

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Problem

The various Auth::User classes are hard to follow, duplicate code between them, and have multiple responsibilities.

E.g. Auth::User::Saml is responsible for:

  • Find GitLab user based on SAML uid and provider
  • Creating a new user from SAML response if no user is found
  • Blocking / unblocking users based on required groups
  • Setting user as external/admin based on SAML response
  • UserLookup::Ldap
  • UserLookup::Email
  • UserLookup::Identity
  • ProfileUpdater
  • AutoLinkLdap

Possible solution

If we could extract orthogonal behaviour we might reduce duplication between the Saml/Ldap/Oauth classes, make it easier to follow, and make it easier to re-use elsewhere.

Edited Jun 21, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading