Only SSO login #2960
Zarpyk opened 3 weeks ago

I come from Gitea, and it allows you to disable the internal login entirely to use only an SSO provider (When you click Sign in on Gitea, it open you directly the SSO page without the sign in page).

It is also useful for SSO providers like Pocket-ID that are passwordless, so it makes the login totally passwordless.

  • Robin Shen changed fields 3 weeks ago
    Name Previous Value Current Value
    Assignee
    robin
    cwh
  • Robin Shen commented 2 weeks ago

    @cwh work on this issue:

    1. Add a setting in security settings to disable internal login form, with default value set to false
    2. Add a command line like reset admin password to enable internal login form, in case we are locked out
    3. Add migration logic for this new setting in last migrate method of DataMigrator
    4. If this setting is set to true:
      • If there is no SSO connector defined, ignore the setting and display password login form as usual
      • If there is only one SSO connector defined, redirect to SSO login url directly like we've clicked the button
      • If there is multiple SSO connectors defined, display all of them but hides the password login form
  • Chief Work Horse referenced from pull request 2 weeks ago
  • Chief Work Horse commented 2 weeks ago

    Implemented the requested SSO-only login behavior: password login remains available with no SSO providers, a single provider redirects directly, and multiple providers remain selectable without the password form. The enable-internal-login maintenance command provides lockout recovery, and the latest migration defaults existing installations to internal login enabled.

    Submitted as pr #113.

  • OneDev commented 2 weeks ago

    State changed as build OD-8064 is successful

  • OneDev changed state to 'Closed' 2 weeks ago
    Previous Value Current Value
    Open
    Closed
1/1
Type
New Feature
Priority
Normal
Assignee
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
OD-2960
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover