Dan Libby wrote:
1) this patch piggy-backs on top of SpecialUserlogin.
So if a username
contains "://" or '." then the OpenID code kicks in. This does not
provide any sort of possibility for other login types, eg LID. Also it
would break any pre-existing logins with those strings in them.
The . check would break... 12579 registered usernames on
en.wikipedia.org. :)
2) MediaWiki insists on upper-casing all titles,
including usernames. I
worked around that for actually storing the username, but it still
happens for display,which looks kinda nasty for eg:
"Http://danda.videntity.org/". I'm not sure how to get around that as
the title normalization stuff is a bit, umm, inscrutable.
Using URLs for usernames is going to be inherently broken on the wiki,
as accounts are closely tied to their user pages on the wiki. To be
non-broken, the usernames need to be real, valid page titles. There are
many valid URLs which are not valid titles, and trying to use them like
that is I think going to be a tangle of ugliness, special cases, and
identifiers which won't be able to login despite having a valid OpenID
system.
There are basically two ways you can go I think:
1) OpenID identifiers are a special class of users and handled
distinctly, like anonymous IP addresses are.
Some mechanism for displaying properly formatted names and for picking a
not-too-illegible title for the user page / talk page would need to be
added to the core code.
Every place that takes a username in input, displays a username in
output, or tries to make a user page link would need to change. (That's
not that bad an idea, though; consolidation of duplicated code would be
good and other external authentication systems could use this same ability.)
-or-
2) OpenID identifiers can be used to authenticate a named account in
place of a password, but you have to pick a valid username name and
create an account. (This could be as simple as confirming an automatic
transformation of the OpenID identifier or choosing to change it during
your first login.)
Easy, but of course not as 'cool'. :)
-- brion vibber (brion @
pobox.com)