21

In brief: The logout page should tell users that, in order to make the logout "stick", they also need to log out of their OpenID provider. It should tell this very clearly and explicitly, and preferably several times. Also, global logout would be great.

This is actually a bunch of closely related feature requests rolled into one post, because I feel they're close enough in scope and purpose that splitting them into several requests would be just silly. I'd be happy to see any subset of them implemented, but the more, the better, IMO.

1. Add a note about OpenID to the logout page

The current logout page is extremely spartan: all it has in one button and a very short paragraph of text explaining what it does.

I suggest that this paragraph should be clarified to make it clear that it only applies to one specific site, and amended to tell users that they also need to log out of their OpenID provider, something like this (additions underlined):

Interface mockup of amended logout page

(It might be better if the link to "your OpenID provider" actually used the name of the provider, at least if it's known. We could at least do this for SE OpenID and for major providers like Google and Facebook.)

I believe this feature is important even if the other features below are implemented too. Why? Because if the user is leaving a public computer in a hurry (maybe they're on a shared computer at school, and class is just starting), they're likely to click the "Log Out" button, assume that it logs them out completely and just run off without carefully observing the results.

Thus, if the "Log Out" button doesn't do what they'd naïvely expect, we need to warn the users before they click it.

Edit: Part 1 is now mostly , except for the link. Thanks, Laura!

2. After logout, show a page telling users what they need to do next

Currently, after logging out, the user is just redirected to the front page of the site. (To add some extra confusion, due to browser caching, this page may sometimes show them as still logged in.)

I suggest that the user should instead be shown a page explicitly confirming that they've logged out, and telling them if they're still logged into their OpenID provider and/or any other SE sites, e.g. like this:

Interface mockup of proposed post-logout page

(Verifying the OpenID provider login status should be doable using an immediate OpenID request.)

Also, obviously, it should be verified that the claims on this page (particularly the "You will not be logged in..." part) are actually true.

3. Streamline the logout process for SE OpenID specifically

To an average user, who's not familiar with the differences between "Stack Overflow" and "Stack Exchange" and "Stack Exchange OpenID", the second paragraph in the mockup above would look really confusing. (It works OK if you replace "Stack Exchange OpenID" with "Google" or "Facebook", though, since nobody expects those sites to be the same as SO.)

Instead of telling users to go to http://openid.stackexchange.com and log out of there, we should just give them a "Log out of SE OpenID" button on the per-site logout page. In general, OpenID does not provide a way for a Relying Party to embed such a button, but since in this case SE hosts both the OpenID provider and the RP, surely such integration could be arranged.

4. Provide a button to log out of all Stack Exchange sites with one click

Obviously, expecting a user in a hurry to log out of a dozen SE sites one at a time is ridiculous. There should be a single button to log the user out of all of them at once.

Actually, that's already supposed to exist. The only problem is that it doesn't seem to work. (I just clicked that button. I'm still logged in.) Please make it work, and include it on the logout page.

In fact, arguably, this should be the default: the "log out" link in the top bar should take the user to a page that will let them log out with one click from all SE sites, and, if they're using SE OpenID, from that as well. Per-site logout could still be offered as an option, e.g. hidden behind a second link, but it's not what most users want, and thus it should not be presented as the default.

The resulting logout form could look something like this (for SE OpenID users):

Interface mockup of global SE logout form, with SE OpenID

or like this (for users of other OpenID providers):

Interface mockup of global SE logout form, with Facebook OpenID

2

You make some good points; our log-out system is a bit confusing (even to me, and I work here ;).

The log out page now has some new copy:

Clicking Log Out will clear our cookies and log you out of <SiteName> on all devices.

If you're on a shared computer, remember to log out of your Open ID provider (Facebook, Google, Stack Exchange, etc.) as well.

It's not technically feasible for us to figure out which OpenId provider you're using and link you directly there. I agree that your point #2 (showing you which other SE sites you're logged into and which/whether you're still logged into an OpenId provider) would be nice for clarity purposes, but that's not something we're able to do.

We're not going to streamline the process for SE OpenId specifically because I think it's more confusing to have log out behave differently depending on which type of credentials you use. (There are people who have multiple methods of logging into/out of their accounts, so I don't want them to have to think hard about which one they're currently using and how that affects log out behavior.)

Providing a single "log out of all sites" function is also not really an option right now with the way it's all wired up.

  • 2
    Thanks for the response, and the copy tweak. I'm a bit surprised by the technical issues you describe, though. Presumably, you must know something (at least the endpoint URL) about the user's OpenID provider at some point during the login process; is this information simply not saved anywhere? – Ilmari Karonen Mar 5 '14 at 17:27
  • Also, regarding "log out of all sites", I assume you're referring to the fact that each site has its own authentication cookies? I remember Wikimedia having similar issues (albeit on a smaller scale) with their single sign-on/off implementation, and they eventually just went with a "brute force" solution, using embedded images on the login/logout result page to set/unset the required cookies on all their domains. Couldn't something similar (maybe with JSONP requests) work here? Sure, doing up to 116 HTTP requests to log a user out seems a lot, but few users actually have that many SE accounts. – Ilmari Karonen Mar 5 '14 at 17:33
  • What I most miss is a logout button that logs me out of this browser. I don't want to affect other sessions! – Gilles Mar 5 '14 at 17:50
  • 3
    Why is global logout difficult? You manage global login (I can't log in on one site and then visit other sites anonymously). – Gilles Mar 5 '14 at 17:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .