Page MenuHomePhabricator

Username missing in "onPluggableAuthUserAuthorization" hook
Closed, ResolvedPublic

Description

Hook handlers, attached to "onPluggableAuthUserAuthorization" hook - don't correctly get username of authenticated user.
Instead of correct username, some string like "0:0:0:0:1" is stored in user object after successful authentication.

After some debugging I found out that problem is here.
Method \User::loadDefaults() resets user object, then username and real name are updated.
Problem is that real name is updated with \User::setRealname() method which tries again to load user object before setting real name - here.
As a result - user object is being reset once more (here) after updating username inside of that object. So actually username is lost.

It can be fixed just changing order of updating user object.
We can set real name at first, and username after that.
That fixed specified issue for me.

Event Timeline

Change 909674 had a related patch set uploaded (by AKulbii; author: AKulbii):

[mediawiki/extensions/PluggableAuth@REL1_39] Fix missing username in "onPluggableAuthUserAuthorization" hook

https://gerrit.wikimedia.org/r/909674

Change 909674 merged by jenkins-bot:

[mediawiki/extensions/PluggableAuth@REL1_39] Fix missing username in "onPluggableAuthUserAuthorization" hook

https://gerrit.wikimedia.org/r/909674

Change 919313 had a related patch set uploaded (by Cicalese; author: AKulbii):

[mediawiki/extensions/PluggableAuth@master] Fix missing username in "onPluggableAuthUserAuthorization" hook

https://gerrit.wikimedia.org/r/919313

Thank you.

In the future, please create the patch on the master branch unless there is some reason it should not be applied to master. It can then be backported to the relevant release branch(es).

Change 919313 merged by jenkins-bot:

[mediawiki/extensions/PluggableAuth@master] Fix missing username in "onPluggableAuthUserAuthorization" hook

https://gerrit.wikimedia.org/r/919313

Change 926704 had a related patch set uploaded (by Cicalese; author: AKulbii):

[mediawiki/extensions/PluggableAuth@REL1_40] Fix missing username in "onPluggableAuthUserAuthorization" hook

https://gerrit.wikimedia.org/r/926704

Change 926704 merged by jenkins-bot:

[mediawiki/extensions/PluggableAuth@REL1_40] Fix missing username in "onPluggableAuthUserAuthorization" hook

https://gerrit.wikimedia.org/r/926704