Page MenuHomePhabricator

The logout link on Special::UserLogout doesn't respect mobile domain
Closed, ResolvedPublic

Description

It is not possible to logout from mobile wiki via Special::UserLogout page

Reproduction steps

  1. Login to Wikipedia
  2. Switch To mobile view
  3. Go to LogoutPage (https://en.m.wikipedia.org/wiki/Special:UserLogout)
  4. Click the continue to the log out page link

Expected result: user gets logged out
Current result: MediaWiki UserLogout page shows an error "Log out failed due to session error. Please try again."

Developer notes

This happens when the link to the Special::UserLogout page doesn't contain the logoutToken, then the Mobile Wikipedia shows an intermediate step - it asks for confirmation.
The continue to the log out page link points to the desktop (https://en.wikipedia.org/wiki/Special:UserLogout) UserLogout page, but user is on mobile domain. Most probably because of that
the token is invalid

Event Timeline

From my point of view, - this is high priority bug, and sometimes it related to security.

Aklapper changed the task status from Open to Stalled.EditedJun 18 2019, 3:27 PM
Aklapper raised the priority of this task from High to Needs Triage.

@DIKW_Pyramid: In the mobile view I choose the logout icon and I end up on the page "Log out - If you wish to log out please continue to the log out page". After clicking that link I get "You are now logged out." so I can successfully log out.

It is unclear to me what the exact bug is in this task, and what does not work for you. Please clarify. If "logout is not possible.", please explain why it is not possible.

@DIKW_Pyramid - the logout link on the MainMenu doesn't specify the domain, it shows only relative link to the Special:UserLogout page.

Are you asking about the intermediate step:

If yes, this is currently fixed in T225220: Don't show intermediate step during log out action on the MinervaNeue skin, we stopped showing the intermediate step, and the link on the Logout menu will work properly.

But definitely I see there is an error in the Special::LogoutUser page, that doesn't respect the mobile domain.

@Aklapper I think I know what's the issue, the Special:LogoutPage doesn't respect the mobile domain, it creates the logout link that points to the desktop wikipedia site.

Some time ago, we started adding a logoutToken to the logout link T25227: Use token when logging out, but Minerva skin didn't get that fix, only core. Therefore, Minerva logout shows the desktop Special::UserLogout page and ask for log out confirmation.

I'll edit description, and leave reproduction steps

pmiazga renamed this task from It is not possible to logout from wiki if mobile view is enabled and mobile wiki has separate domain to The logout link on Special::UserLogout doesn't respect mobile domain.Jun 18 2019, 3:44 PM
pmiazga changed the task status from Stalled to Open.
pmiazga updated the task description. (Show Details)

@Aklapper I think I know what's the issue, the Special:LogoutPage doesn't respect the mobile domain, it creates the logout link that points to the desktop wikipedia site.

Yes, exactly! And logout from mobile domain is not possible.

Some time ago, we started adding a logoutToken to the logout link T25227: Use token when logging out, but Minerva skin didn't get that fix, only core. Therefore, Minerva logout shows the desktop Special::UserLogout page and ask for log out confirmation.

Confirmation page is not problem.

Problem that you can't logout at all - en.wikipedia.org only show error message "Log out failed due to session error. Please try again." instead of logout from en.m.wikipedia.org.

Is this still valid? This is how the confirmation page looks now:


and it works fine for me:

(IMO the confirmation page shouldn't be normally shown to the user. Filed T232734: Mobile logout should not involve an interstitial about that.)

DIKW_Pyramid claimed this task.

Is this still valid? This is how the confirmation page looks now:


and it works fine for me:

@Tgr, you are right, this issue is now fixed on https://en.m.wikipedia.org/ site. Thank you!