Set email & name after OAuth if they're empty
The logic before was incorrect. Really, email and name should only be set if they're empty.
This commit is contained in:
parent
18544428a0
commit
37ad61933c
1 changed files with 5 additions and 6 deletions
|
@ -566,13 +566,12 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
|
||||||
'countryCode' => ($record) ? \strtolower($record['country']['iso_code']) : '--',
|
'countryCode' => ($record) ? \strtolower($record['country']['iso_code']) : '--',
|
||||||
], $detector->getOS(), $detector->getClient(), $detector->getDevice()));
|
], $detector->getOS(), $detector->getClient(), $detector->getDevice()));
|
||||||
|
|
||||||
$isAnonymousUser = Auth::isAnonymousUser($user);
|
if (empty($user->getAttribute('email'))) {
|
||||||
|
$user->setAttribute('email', $oauth2->getUserEmail($accessToken));
|
||||||
|
}
|
||||||
|
|
||||||
if ($isAnonymousUser) {
|
if (empty($user->getAttribute('name'))) {
|
||||||
$user
|
$user->setAttribute('name', $oauth2->getUserName($accessToken));
|
||||||
->setAttribute('name', $oauth2->getUserName($accessToken))
|
|
||||||
->setAttribute('email', $oauth2->getUserEmail($accessToken))
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$user
|
$user
|
||||||
|
|
Loading…
Reference in a new issue