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のレポから投稿し、私はトークンを無効または削除するすべての例に続き、私はまだそれを削除するか、無効にすることはできません。
トークンを無効にすることはできません。ここであなたのオプション:http://stackoverflow.com/questions/21978658/invalidating-json-web-tokens –
@E_p私はこのライブラリを使用しています:https://github.com/tymondesigns/jwt-auth、私は'nodejs'のライブラリを使用していません – pableiros
何の違いもありませんJWTはどんなサーバサイド言語でも同じように動作します。トークンを期限切れるメカニズムはありません。私が提供したリンクの受け入れられた答えは、それをどう対処するかを教えてくれます。 –