Я использую jwt-auth, чтобы создать ресурс авторизации RESTful в моем API. Когда клиентское приложение вызывает ресурс входа в систему, регистр пользователя регистрируется, ваш текущий токен должен быть недействительным, и поэтому создается новый токен.Ошибка выхода с авторизацией Laravel JWT-auth
Но в этом случае текущий токен занесен в черный список TokenBlacklistedException
.
Как проверить, включен ли токен? Или как исправить выполнение пользователем «выход из системы»? Я пытаюсь найти в источнике jwt-auth API, но не существует getToken()->isBlacklisted()
или parseToken()->isBlacklisted()
или какой-либо валидатор для его реализации.
Неверный токен parseToken() генерирует исключение TokenBlacklistedException, поэтому метод isBlacklisted является хорошим способом проверить, действительно ли токен действителен, прежде чем аннулировать токен.
INFO:
Рев код проверить, если полезная нагрузка является недействительным, забросив TokenBlacklistedException
если недействителен:
if(
false === \Tymon\JWTAuth\Blacklist::has(
\Tymon\JWTAuth\Facades\JWTAuth::getPayload($token)
)
) {
\Tymon\JWTAuth\Facades\JWTAuth::parseToken()->invalidate();
}
Как проверить, как:
if(false ===\Tymon\JWTAuth\Facades\JWTAuth::parseToken()->isBlacklisted()) {
// invalidate...
}
, но в моем случае, я тестирование, если Angular.js приложение отправить УТРАТИТ маркер, так что если недействительна 'JWTAuth :: Invalidate (JWTAuth :: getToken())):' отбросит TokenBlacklistedException или сказать, что недействительный маркер , Мне нужно, прежде чем сделать недействительным, проверить, выполнено ли это ранее. – Maykonn
Или бросает TokenExpiredException, когда я пытаюсь сделать недействительным истекший токен ... – Maykonn
Я обновил свой ответ, чтобы показать вам, как я обрабатываю его –