Skip to content

Allow User Uniqueness at the Organization Level #9535

@hifabienne

Description

@hifabienne

As an organization administrator, I want to configure ZITADEL to allow users to be unique within my organization instead of the entire instance, so that I can manage users independently from other organizations and avoid conflicts due to shared user identifiers.

This feature will only be implemented for the session API, and hosted login v2, as at this point login v1 will be removed.

Acceptance Criteria

  • Configuration Option
    • I am able to configure if a user should be unique on instance level or organization
    • The default is instance to maintain backward compatibility
  • User Creation
    • When "user Uniqueness Scope " is set to "organization:
      • Users with the same username or linked identity provider (IdP) ID can be created in different organizations.
      • The system should prevent the creation of users with duplicate usernames or linked IdP IDs within the same organization.
    • When "user Uniqueness Scope " is set to "instance:
      • Users with the same username or linked identity provider (IdP) ID can't be created in different organizations.
  • User Linking (Idp)
    • When "User Uniqueness Scope" is set to "Organization":
      • Users can link the same IdP account (e.g., Google account) to their accounts in different organizations.
      • The system should prevent linking the same IdP account to multiple users within the same organization.
    • When "user Uniqueness Scope " is set to "instance:
      • Users can't link the same IdP account (e.g., Google account) to their accounts in different organizations.
  • Login Process (Organization Preselection)
    • When "User Uniqueness Scope" is set to "Organization" and a user attempts to log in with a username or IdP ID that exists in multiple organizations and an orgnaization id is provided:
      • The login process should proceed based on the selected organization.
      • The user should be able to login without an error
  • Error Handling
    • When "User Uniqueness Scope" is set to "Organization":
      • Attempting to create a duplicate user within the same organization should result in a clear error message indicating the conflict.
      • When a user is logging in, and the user cannot be found in the selected organization, a user not found error should be displayed

Technical Considerations

  • Implementation for hosted login v2 only
  • Hosted Login v1 will be removed

Future Improvements

  • Do we want to provide an organization dropdown? If so can I choose if it is before or after loginname?
    In a initial implementation i would start with organization scope only, and have a look if we can provide an organization dropdown later on
    --> related issue: Organization name/domain prompt page #7887

Metadata

Metadata

No fields configured for Enhancement.

Projects

Status
To be scoped and estimated
Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions