вы должны использовать Revoking Tokens в AdonisJs
Схемы jwt и api предоставляют методы для отзыва токенов с помощью интерфейса авторизации.
Для jwt, токены обновления отменяются только, поскольку фактические токены никогда не сохраняются в базе данных
revokeTokens (токены, delete = false)
Следующий метод будет отзывать токены, установив флаг втаблица токенов:
const refreshToken = '' // get it from user
await auth
.authenticator('jwt')
.revokeTokens([refreshToken])
Если в качестве второго аргумента передано значение true, вместо установки флага базы данных is_revoked соответствующая строка будет удалена из базы данных:
const refreshToken = '' // get it from user
await auth
.authenticator('jwt')
.revokeTokens([refreshToken], true)
Комуотозвать все токены, вызвать revokeTokens без аргументов:
await auth
.authenticator('jwt')
.revokeTokens()
При отзыве токена api для текущего пользователя, вошедшего в систему, вы можете получить доступ к значению из заголовка запроса:
// for currently loggedin user
const apiToken = auth.getAuthHeader()
await auth
.authenticator('api')
.revokeTokens([apiToken])
revokeTokensForUser(user, tokens, delete = false)
ThisМетод работает так же, как метод revokeTokens, но вместо этого вы можете указать пользователя самостоятельно:
const user = await User.find(1)
await auth
.authenticator('jwt')
.revokeTokensForUser(user)