Skip to content

Commit 8f3eb6c

Browse files
committed
Update Login.php in Security
1 parent 73a2a67 commit 8f3eb6c

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

src/Services/Login.php

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,30 +98,43 @@ public function authenticate(): Redirector|RedirectResponse|LoginResponse|null
9898
$credentialKey = array_key_first($credentials);
9999
$guardProvider = config("auth.guards.$guard->name.provider");
100100
$userModel = config("auth.providers.$guardProvider.model");
101-
$userModelUsername = config("press.auth.$guard->name.username");
102-
$userModelEmail = config("press.auth.$guard->name.email");
101+
$userModelUsername = config("security.auth.$guard->name.username");
102+
$userModelEmail = config("security.auth.$guard->name.email");
103103
$query = $userModel::query();
104-
if (! empty($userModelUsername) && $credentialKey === 'name') {
105-
$query->orWhere($userModelUsername, $credentials[$credentialKey]);
104+
105+
if (!empty($userModelUsername) && $credentialKey === 'name') {
106+
$query->where($userModelUsername, $credentials[$credentialKey]);
106107
}
107-
if (! empty($userModelEmail && $credentialKey === 'email')) {
108-
$query->orWhere($userModelEmail, $credentials[$credentialKey]);
108+
109+
if (!empty($userModelEmail) && $credentialKey === 'email') {
110+
111+
if ($query->getQuery()->wheres) { // Check if there's already a condition
112+
$query->orWhere($userModelEmail, $credentials[$credentialKey]);
113+
} else {
114+
$query->where($userModelEmail, $credentials[$credentialKey]);
115+
}
109116
}
117+
110118
$user = $query->first();
119+
111120
if (config('security.wpModel') && $user instanceof (config('security.wpModel'))) {
112121
$wpAuthService = new \Moox\Security\Services\WordPressAuthService;
113122

114123
if (! $user || ! $wpAuthService->checkPassword($credentials['password'], $user->user_pass)) {
115124
$this->throwFailureValidationException();
116125
}
126+
117127
} else {
128+
118129
if (! Auth::guard($guard->name)->attempt($credentials, $data['remember'] ?? false)) {
119130
$this->throwFailureValidationException();
120131
}
121132
}
122133

123134
Auth::guard($guard->name)->login($user, $data['remember'] ?? false);
135+
124136
session()->regenerate();
137+
125138
if (config('security.wpModel') && $user instanceof (config('security.wpModel'))
126139
&& config('press.auth_wordpress') === true) {
127140
$payload = base64_encode($user->ID);

0 commit comments

Comments
 (0)