Page MenuHomePhabricator

Improve SUL3 Special:UserLogin and Special:CreateAccount interactions when already logged in or partially logged in
Closed, ResolvedPublic

Description

Some interactions on the central domain should depend on whether the user is already logged in on the local domain. I was struggling to keep this all in my head while working on T392359 and T393459, so I made this table.

When the local domain and central domain login status matches, the behavior should be the same as in normal MediaWiki (cases 1-4).
When the local domain and central domain login status does not match, things get more interesting (cases 5-8).

#PageLocal domainCentral domainCurrent behaviorExpected behaviorNotes
(1)Special:UserLoginLogged outLogged outShows login formunchanged
(2)Special:UserLoginLogged inLogged inRedirects back to the main page [T392359]Shows login form with warning 'userlogin-loggedin'
(3)Special:CreateAccountLogged outLogged outShows signup formunchanged
(4)Special:CreateAccountLogged inLogged inShows signup form with more optionsunchangedIn the future we may add a warning, T284927
(5)Special:UserLoginLogged inLogged outShows login form, like case (1) [T393459]Shows login form with warning 'centralauth-warning-reauth'
(6)Special:UserLoginLogged outLogged inLogs in without a formunchangedIn the future we may add an interstitial, T369467
(7)Special:CreateAccountLogged inLogged outShows signup form, like case (3) [T393459]Shows login form with warning 'centralauth-warning-reauth'Does a redirect through the UserLogin case (5), ends up in CreateAccount case (4) after successful login
(8)Special:CreateAccountLogged outLogged inShows signup form with more options, like case (4)unchangedIdeally this would do a redirect through the UserLogin case (6) to make the user resolve this weird situation and end up in CreateAccount case (4), but this turned out to be difficult to implement

Additionally, there are some cases that do not fit neatly in this table:

  • Visiting Special:CreateAccount with a ?returnto=… parameter while logged in on the local domain should be allowed to match MediaWiki core, it currently redirects back to the main page (like case 2). [T392359]
  • Visiting any auth-related special page that redirects to the central domain while logged in on the local domain should behave basically like Special:CreateAccount in this table. [T393459]
  • If the user is logged into different accounts on the local and central domain, they will probably experience something weird. We do not currently try to handle this case, not sure if we should.
  • Actually using the login form while already logged in on either the local or central domain may also result in something weird. We should probably document what exactly happens, but I think changing it is out of scope for now (since you can already experience it by visiting it on the central domain directly).

Event Timeline