Hash::check sempre está retornando false.
TokenController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Firebase\JWT\JWT;
use App\User;
use Illuminate\Support\Facades\Hash;
class TokenController extends Controller
{
public function gerarToken(Request $request)
{
$this->validate($request, [
'email' => 'required|email',
'password' => 'required'
]);
$usuario = User::where('email',$request->email)->first();
//dd($usuario);
if(is_null($usuario) || !Hash::check($request->password, $usuario->usuario)){
return response()->json('Usuário ou senha inválidos', 401);
}
$token = JWT::encode(['email' => $request->email], env('JWT_KEY'));
return [
'access_token' => $token
];
}
}
UsuarioSeeder.php
<?php
use Illuminate\Database\Seeder;
use App\User;
use Illuminate\Support\Facades\Hash;
class UsuarioSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
User::create([
'email'=> 'teste@email',
'password'=> Hash::make('senha')
]);
}
}
No Postman estou enviando para "http://localhost:8000/api/login" via POST:
{
"email" : "teste@email",
"password": "senha"
}
Porém a resposta é ""Usuário ou senha inválidos";