Na hora de colar o Token e enviar, ele dá esse erro: Signature verification failed
.
Na hora de colar o Token e enviar, ele dá esse erro: Signature verification failed
.
Olá, Lucio. Preciso de mais detalhes sobre sua implementação.
Aparentemente o token que você recebeu foi alterado antes de enviar de volta pra API.
TokenController
namespace App\Http\Controllers;
use App\User;
use Firebase\JWT\JWT;
use Illuminate\Http\Request;
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();
if (is_null($usuario) || !Hash::check($request->password, $usuario->password)) {
return response()->json('Usuário ou senha inválidos', 401);
}
$token = JWT::encode(['email' => $request->email], env('JWT_KEY'));
return [
'access_token' => $token
];
}
}
UsuarioSeeder
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')
]);
}
}
DatabaseSeeder
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call('UsuarioSeeder');
}
}
User
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Database\Eloquent\Model;
use Laravel\Lumen\Auth\Authorizable;
class User extends Model implements AuthenticatableContract, AuthorizableContract
{
use Authenticatable, Authorizable;
protected $table = 'usuarios';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email',
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password',
];
}
CriarTabelaUsuarios
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Database\Eloquent\Model;
use Laravel\Lumen\Auth\Authorizable;
class User extends Model implements AuthenticatableContract, AuthorizableContract
{
use Authenticatable, Authorizable;
protected $table = 'usuarios';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email',
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password',
];
}
Acho que o problema é o arquivo JWT.
Como você está enviando de volta o token pras requisições seguintes? Faltou essa parte