blob: 2c4d133dd57e6817c2049a747c93948d4217667e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<?php
namespace EmailLogin;
use MediaWiki\Auth\AuthenticationRequest;
use MediaWiki\Auth\AuthenticationResponse;
use MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider;
use MediaWiki\Auth\PasswordAuthenticationRequest;
class EmailPasswordAuthenticationProvider extends LocalPasswordPrimaryAuthenticationProvider
{
public function beginPrimaryAuthentication(array $reqs)
{
$req = AuthenticationRequest::getRequestByClass($reqs, PasswordAuthenticationRequest::class);
$dbr = wfGetDB(DB_REPLICA);
$row = $dbr->selectRow(
'user',
['user_email', 'user_name'],
['user_email' => $req->username],
__METHOD__
);
if (!$row) {
return AuthenticationResponse::newAbstain();
}
$req->username = $row->user_name;
return parent::beginPrimaryAuthentication([$req]);
}
}
|