How can I see what external service I used to log in?

I have multiple accounts on multiple services (Twitter, Github, etc.). Same avatar, same handle, different credentials.

How can I tell which external service account I used to create my meta.discourse.org account?

Note that it’s not enough to be able to see this while I’m actively logged in to meta.discourse.org (but that would be a good start), because when my meta.discourse.org session times out, I have to log in again – but which service did I pick last time? I don’t want to create a new meta.discourse.org account – and that’s what will happen if I pick the wrong one!

Maybe I want to associate all my remote accounts with one meta.discourse.org account (so it no longer matters which I choose), but so far as I can tell, that’s not currently possible.

If you sign in with a third-party identity which wasn’t previously used and doesn’t match an existing URI it will offer to create an account, but not do so until you click through.

If you use a third-party account which has a matching URI (typically email address) this will sign you into the same account. That’s how SSO works, when you first enable SSO any identity which matches a local identity is automatically matched. It depends entirely on the data provided by the source of SSO.

1 Like

It is if they all use the same email address (and if that’s the case, it doesn’t matter what service you use to log in). If different services use different addresses, then you’re mostly right. There is support for multiple email addresses per account, but it’s currently not accessible from the UX.

2 Likes

I have many email addresses, associated with many services, sometimes overlapping, sometimes not. On many of those services, I have multiple email addresses associated with a single service identity.

(Experience has shown that email addresses are a terrible username binding, for many reasons.)

I think that it is not an unreasonable exposure to display the associated third-party services on meta.discourse.org user profile pages, which would make it easier for people whose meta.discourse.org session has expired to refresh that session with the same service, instead of inadvertently creating multiple meta.discourse.org accounts based on different third-party profiles.

(I have today discovered https://meta.discourse.org/u/{USERNAME}/preferences/account which seems oddly specific, in that it’s not a generic link that shows the preferences for the logged-in user, but should not be visible to other users… and now my meta.discourse.org is associated with my primary Github, Twitter, Facebook, and Google accounts [which all have different primary email address associations], so at least I should be able to sign in with any of them going forward.)

1 Like

Yes, the feature you are asking for already exists and is visible on user profile page…

5 Likes