Ich hatte eine frische Lumen 5.4 Installation und folgte dieser tutorial. Login und andere funktionieren gut, aber die Abmeldung scheint nicht richtig zu funktionieren. Was ich meine ist, wenn ich versuche, ein Token ablaufen zu lassen, gibt es mir keinen Fehler, aber wenn das gleiche Token (das gerade abgelaufen ist) wieder verwendet wird, sollte es abgelaufen sein, aber geht immer noch durch und holt mir das Daten. In einfachen Worten, ich glaube, dass das Token überhaupt nicht abläuft. Unten ist mein Code:JWT Auth Token nicht ungültig nach dem Abmelden in Lumen 5.4
UserController
Code:
class UserController extends Controller
{
protected $jwt;
public function __construct(JWTAuth $jwt)
{
$this->jwt = $jwt;
}
public function Signin(Request $request)
{
$this->validate($request, [
'email' => 'required|email|max:100',
'password' => 'required|min:6',
]);
if (!$token = $this->jwt->attempt($request->only('email', 'password'))) {
return response()->json(['The credentials provided are invalid.'], 500);
}
return response()->json(compact('token'));
}
public function LogoutUser(Request $request){
$this->jwt->invalidate($this->jwt->getToken());
return response()->json([
'message' => 'User logged off successfully!'
], 200);
}
}
routes
:
$app->group(['prefix' => 'api'], function($app){
$app->post('/signup', [
'uses' => '[email protected]'
]);
$app->group(['middleware' => 'auth:api'], function($app){
$app->post('/logout',[
'uses' => '[email protected]'
]);
});
});
config/auth.php
:
'defaults' => [
'guard' => env('AUTH_GUARD', 'api'),
],
'guards' => [
'api' => [
'driver' => 'jwt',
'provider' => 'users'
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => \App\User::class,
],
],
'passwords' => [
//
],
Jede Hilfe wird sehr geschätzt.