2016-07-28 3 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의 REPO에서 게시하고 내가 무효화 또는 토큰을 제거하는 모든 예제를 따라 난 아직 제거하거나 무효화 할 수없는 .

+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

이것은 작동하지 않습니다. –

관련 문제