Uma área de desenvolvimento de software está revisando o código de autenticação de usuários em um sistema em Laravel, em condições ideais. Durante os testes, verificou-se que a autenticação nunca é concluída com sucesso, mesmo quando o e-mail e a senha estão corretos.
Abaixo está o trecho do método authenticate do controller responsável pelo login. A numeração de linhas é apenas ilustrativa.
1 | <?php
2 | namespace App\Http\Controllers;
3 |
4 | use App\Models\User;
5 | use Illuminate\Http\Request;
6 | use Illuminate\Support\Facades\Auth;
7 | use Illuminate\Support\Facades\Hash;
8 |
9 | class AuthController extends Controller {
10 | public function authenticate(Request $request) {
11 | $request->validate(['email'=>'required|email','password'=>'required']);
12 | $user = User::where('email', $request->email)->first();
13 | if (!$user) { return back()->withErrors(['email'=>'Usuário não encontrado']); }
14 |
15 | // echo $user;
16 |
17 | if ($user && $user->password === $request->password) {
18 | Auth::login($user);
19 | return redirect()->intended('dashboard');
20 | }
21 | return back()->withErrors(['email'=>'Credenciais inválidas']);
22 | }
23 | }
Com base no código e nos sintomas descritos, deve ser ajustada a