jwt (jwt-auth 사용)로 Laravel을 설정했습니다. 내 Kernel.php에서 - $ routeMiddleware 내가 추가 한 :Laravel 및 jwt-auth - 사용자가 로그인했는지 확인하는 방법
나는 그것이 'jwt.refresh'자동/새로 고침 각 요청에 대해 사용자에 대한 새 토큰을 생성합니다 알고있는 것처럼'jwt.auth' => \Tymon\JWTAuth\Middleware\GetUserFromToken::class,
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class
. 내 단일 페이지 아약스 응용 프로그램에서
나는 사용자가 너무 로그인되어 있다면이 함수를 호출 경로 추가 확인해야합니다
public function isAuthenticated() {
$token = JWTAuth::getToken();
if(!$token){
throw new JWTException('Token not provided');
}
try{
$token = JWTAuth::refresh($token);
}catch(TokenInvalidException $e){
throw new AccessDeniedHttpException('The token is invalid');
}
return $this->response->withArray(['token'=>$token]);
}
문제는 그런 IsAuthenticated는()는 JWTAuth를 호출 할 때 :: 새로 고침 ($ 토큰) 호출이 실패합니다.
토큰이 새로 고쳐지는 것과 관련이 있다고 생각합니다.
내가 원하는 것은 클라이언트 토큰이 유효하면 true를 반환하는 것입니다. 이렇게하는 방법이 있습니까?
'jwt-refresh'를 제거해도 문제가 해결되지 않는 것 같습니다.
미리 감사드립니다.