2016-07-28 4 views
1

JWTからトークンを無効化(または削除)しようとしていますが、それを達成できません。まず、私はこの答えのようなものLogout issue with Laravel JWT-auth authenticationを言いました:JWTトークンを無効にするにはどうすればいいですか?PHP

JWTAuth::invalidate(JWTAuth::getToken())): 

をしかし、私はこのエラーを取得する:

Non-static method Tymon\JWTAuth\JWT::invalidate() should not be called statically, assuming $this from incompatible context

それから私はこのようなものでした:

use Illuminate\Http\Request; 
use Tymon\JWTAuth\JWTAuth; 

class AuthController extends Controller 
{ 
    protected $jwt; 

    public function __construct(JWTAuth $jwt) 
    { 
     $this->jwt = $jwt; 
    } 

    public function invalidateToken(Request $request) 
    { 
     $this->jwt->parseToken()->invalidate(); 

     return response()->json(array('message' => 'log out')); 
    } 

    ... 
} 

をしかし、私はまだ使用することができます他のリクエストのトークンを削除したり無効にすることはできません。

トークンを無効にするのは間違っていますか?

編集:

私はここから別の質問を読んで、問題がgithub (this is the library I'm using)にJWTのレポから投稿し、私はトークンを無効または削除するすべての例に続き、私はまだそれを削除するか、無効にすることはできません。

+0

トークンを無効にすることはできません。ここであなたのオプション:http://stackoverflow.com/questions/21978658/invalidating-json-web-tokens –

+0

@E_p私はこのライブラリを使用しています:https://github.com/tymondesigns/jwt-auth、私は'nodejs'のライブラリを使用していません – pableiros

+0

何の違いもありませんJWTはどんなサーバサイド言語でも同じように動作します。トークンを期限切れるメカニズムはありません。私が提供したリンクの受け入れられた答えは、それをどう対処するかを教えてくれます。 –

答えて

0
JWTAuth::invalidate(old token); 
+1

これは機能しません。 –

関連する問題