Single login/Kate

From Meta, a Wikimedia project coordination wiki
This is an archived proposal for the implementation of single user login. For more information, see the single login documentation page.
  • Create a new "username" namespace ("global"), which is separate from any local wiki's user namespace; (this doesn't have to be usernames - it can be a random number, an email address....)
  • Allow users to create new accounts in this global namespace, which is shared between all wikis;
  • Implement a preferences option to link a local wiki account (such as en:User:Kate) to this global account;
  • Tell users link all their local accounts to their global account.

This provides all the advantages of a single sign-on system, such as shared watchlists, automatic login, or whatever else people want, without requiring anyone to change their username. —Kate | Talk 13:03, 2004 Oct 19 (UTC)

It's versatile but it's a more complex UI than most of the proposals. People may be disappointed when a troll takes the global username associated with an account they use on many projects. Name conflicts are not necessarily handled satisfactorily. -- Tim Starling 14:12, 19 Oct 2004 (UTC)

The global usernames don't necessarily have to be shown to other users - they could even be numbers, but I think names would be easier to remember. Name conflicts don't have to be handled - with this system, they aren't an issue. —Kate | Talk 14:40, 2004 Oct 19 (UTC)
But if no name is associated with the global account (or the name associated is arbitrary) then users will still have to create a new single-wiki account for every project, and associate it manually. This is actually more complex than what they have to do already, and not having to sign up all over again is one of the most-requested parts of a single login system. Whereas if you enable automatic account creation by copying the global username to individual wikis, you have all the same name conflicts as any other system. - IMSoP 18:08, 19 Oct 2004 (UTC)
1) not all new users will want the same name on every wiki. Someone who frequents ar:, en:, and zh: may want at least three different usernames. It would be nice, but not necessary, to help them avoid creating three system-wide accounts.
2) offering new accounts the default option of having the same name on every wiki would not be hard.
+sj+ 17:45, 23 Oct 2004 (UTC)

These details largely eliminate the problems mentioned so far:

  • Associate the accounts automatically if there are no duplicates (including putting all, duplicate or not, in the global database, with conflicted names noted and blocked from use until that is resolved);
  • Say you can't create a new account on a wiki if that name is already in the single signon system and you're not using the established password: "sorry, that name is already in use".
  • All new accounts are automatically associated with the single signon account, so most people never deal with the transition process - it'll only affect those with name conflicts in the existing system. Jamesday 23:41, 19 Oct 2004 (UTC)
That sounds a lot like my proposal for running the unified DB in parallel to the seperate ones. Except that I see no point in being able to create a single-wiki account after the unified DB is created, so it becomes a 3-way split: use existing (single-wiki) account without migrating (e.g. you are waiting to settle a username conflict); use a unified account (either migrated, or created post-migration); or set up a new, unified, account, with a name not taken anywhere. - IMSoP 00:31, 20 Oct 2004 (UTC) (muttering about the unclear distinction between this page and Single login, where this discussion probably belongs)
It is a lot like it. One significant difference is that it provides single-signon support for those who have different accounts in different wikis to avoid existing name conflicts. If you try to create a single-wiki account and the name is not in use, it's automatically a global name. If you try it and it is in use, it's rejected as in use. Jamesday 13:14, 20 Oct 2004 (UTC)
I'm not entirely sure what you mean here: are you saying that people would be able to create a single account that had different names on different wikis? I would've thought that would be a little confusing, and just add to the complexity of name recognition / reputation / etc. Like I say, I think it makes more sense for all new accounts to just be global, and only allow "legacy" single-wiki accounts to continue in use while they're waiting to sort out a name conflict. Apologies if this isn't any different to what you're saying, but I'm not sure what you are saying. - IMSoP 17:31, 20 Oct 2004 (UTC)
If you apply the rules you'll see that if a new name being tried at a wiki is not in use, it's global; if it is in use in the global namespace, it's rejected as in use. There's no way to create a new non-global account with those rules. Jamesday 16:01, 24 Oct 2004 (UTC)
I see, so what you're saying is that some global accounts could be "linked with" multiple "legacy" single-wiki accounts, to avoid name changes, but most would simply be genuinely global. I guess the obvious drawback - that people wouldn't be able to assume that users with the same name were the same person (cf. reputation, identification, etc) - is going to present for however long the "transition" lasts anyway (and I tend to think that may be indefinite); plus, plenty of people sign with a different name than their login already, or have confusingly similar usernames, so you have to keep your wits about you anyway.
I was spending ages thinking about how to achieve this "linking" in the parallel-DB concept I concocted before (wherever it's currently ended up), and then realised that it can just be an illusion: if the only wiki-specific thing we want to preserve is the name, then we just have a structure that allows an account to have a list of names, one per wiki. We're already going to need wiki-specific exceptions for things like permissions, watchlists, certain preferences, etc, and these can all be copied from the account when it is "linked". So essentially, this just extends the account-merging code to allow merging of accounts which didn't originally have the same name; it may seem like "linking" to the user, but as far as the software is concerned, the old account no longer exists. Of course, if en_wp::A is merged with global::B, you need to mark global::A as being an alias of global::B, else lookups by username will break. - IMSoP 18:54, 24 Oct 2004 (UTC)
The problem of a troll squatting on a global name which is already associated heavily with some user can be solved by putting in place a formal appeal process. Evidence for 'appeal' would be a past editing history in a 'local' environment under that pseudonym.
Another solution is the following: allow someone to create the global account Foo only if one of the following is true:
  • No local account with name Foo exists
  • A local account, e.g. en:Foo, exists, and has a specific tag such as [[global:Foo]] in the user page. That is, we require the local user en:Foo to explicitly link his account to the global account Foo before the global account can be created. There could be other local accounts, e.g. fr:Foo, which do not have this link, all that's required is that one such account does.
The above approach would ensure that if Foo already exists as a local user account, that it was claimed by a local user before it was claimed a 'global squatter'. An objection is that the would-be global squatter could find an obscure local wikipedia which doesn't have Foo, and use that to gain access to global Foo. That could be solved by requiring every local account Foo to be linked to the global one before the global one can be created, and putting in place a dispute resolution mechanism for clashes. --Saforrest