Fix error on missing AUTHENTICATION_GUARD_EMAIL

Fixes #4060
This commit is contained in:
Hannes Körber
2020-11-14 18:41:29 +01:00
parent f7490176ec
commit 9082a7d9b9

View File

@@ -80,11 +80,14 @@ class RemoteUserGuard implements Guard
// store email address if present in header and not already set.
$header = config('auth.guard_email');
$emailAddress = (string) (request()->server($header) ?? null);
$preference = app('preferences')->getForUser($retrievedUser, 'remote_guard_alt_email', null);
if (null !== $emailAddress && null === $preference && $emailAddress !== $userID) {
app('preferences')->setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress);
if (null !== $header) {
$emailAddress = (string) (request()->server($header) ?? null);
$preference = app('preferences')->getForUser($retrievedUser, 'remote_guard_alt_email', null);
if (null !== $emailAddress && null === $preference && $emailAddress !== $userID) {
app('preferences')->setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress);
}
}
Log::debug(sprintf('Result of getting user from provider: %s', $retrievedUser->email));