[Mediawiki-i18n] Patch submitted: authentication on Wikipedia via user_name OR user_email

Nicolas Brouard brouard at ined.fr
Wed Feb 22 12:24:25 UTC 2012

Le 17 févr. 2012 à 14:28, Bergi a écrit :

> Bináris schrieb:
>> An alternative solution to the original problem could be an extension that
>> displays possible characters from several alphabets and helps to generate
>> the username with mouse and put it back to the login name/password field.
> I don't think that would be a good idea.
> * It sounds as it would need JavaScript (or would be difficult to implement)
> * clicking is much slower than typing
> * "possible characters from several alphabets"? You know, we support the full set of Unicode. Displaying all unicode blocks would need the user to remember from which block his characters are
> * One version of the problem is that you try to login from a system that doesn't support your characters with any font. "displaying characters" is the heavy task. If we don't want to show pictures, the user needs to remember the individual character codes.
> (or is there a usable all-unicode web font?)
> Therefore, it is a great idea to login with your email address, which usually consists of latin characters. I have that problem myself, beeing User:✓ (a great challenge for toolserver tools ;-). Usually I have:
> * My browsers autologin function which fills in the username at known wikis
> * My browsers "notice" function which allows me to insert various texts with the contextmenu
> * Once logged in, I have a extraeditbutton above the edit form
> * or can c&p the sign from the #p-personal portlet (user page, user disk, prefs...)
> But when I try to login no at my home system, I'm challenged how to insert the 0x2713 char code with the keyboard. At windows Alt + num pad usually works, but... So I often end up googling for "unicode checkmark", and c&p the character from wikipedias "List of Unicode characters" :-(

Thank you for your support. I just submitted a complete patch entitled "Can't authenticate using my mother language username (UNICODE) when I only have (a public) access to Wikipedia with an ASCII (english) keyboard" in about 20 languages on 

People supporting this idea, please for it.

Here is the text:
This is a real issue for people who have registered with a username having
UNICODE and non ASCII (7 bits) characters and who want to login to Wikipedia
when they are abroad with a simple English keyboard and want to edit some pages
(usually English pages).

The fact that Wikipedia and Mediawikis do not offer the possibility to
authenticate with an e-mail is now considered, at least for me, as a bug.

I recently discussed this fact on Wikitech-l ("Great idea"
http://lists.wikimedia.org/pipermail/wikitech-l/2012-February/058183.html) and
some tests have been made trying to answer legitimate questions (see
http://lists.wikimedia.org/pipermail/wikitech-l/2012-February/058253.html) to a
simple patch that I proposed.

This small patch in User.php (function idFromName) is enough in most cases:

        $dbr = wfGetDB( DB_SLAVE );
        $s = $dbr->selectRow( 'user', array( 'user_id' ), array( 'user_name' =>
$nt->getText() ), __METHOD__ );

        if ( $s === false ) {
          //Start Patch $result = null;
          $stwo = $dbr->selectRow( 'user', array( 'user_id' ), array(
'user_email' => $nt->getText() ), __METHOD__ );
          if ( $stwo === false ) {
            $result = null;
          }else {
            $result = $stwo->user_id;
          //End Patch
        } else {
            $result = $s->user_id;
The modified Login form is:

Username (or e-mail): |___________________|
Password:             |___________________| 

The full attached patch is rendering this new form in about 20 languages (that
is what we need in our wikis). The patch is simply adding two new msg: 
- 'yournameoremail' instead of 'yourname' in Userlogin.php and 
- 'passwordreset-usernameoremail' instead of 'passwordreset-username' in
SpecialPasswordReset.php .

In order to explain this new experimental feature, we added a Hook in
LocalSettings.php : 

function efLoginFormMessage( &$template ) {
   $template->set( 'header', "NEW (experimental): if you are a registered user
with an authenticated e-mail, you can also log in with your e-mail address in
place of your username. Your e-mail is used only during the authentication
phase; if successful you will be logged with your standard username. <br
/>Please notice that for people owning different accounts with the same e-mail,
you will be logged in with your first registered username (lowest ID). If the
password entered doesn't match the password of your lowest registered ID, you
can't authenticate this way and should enter your desired username.");
        return true;

I hope that this patch will be visited and accept. It is changing our live
here. People having been registered with accented characters or in Cyrillic can
use their e-mail to get their temporary password by e-mail while still being
able to sign authorship in Cyrillic or with accented characters avoiding the
English transliteration. Others still prefer the English transliteration, it is
a question of taste.

Without this patch, people are using the English transliteration for the
commodity of authentication.


> Regards,
> Bergi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wikimedia.org/pipermail/mediawiki-i18n/attachments/20120222/b66284ce/attachment.html>

More information about the Mediawiki-i18n mailing list