Чтобы удалить токен для текущего запроса в Laravel Sanctum, вы можете использовать один из следующих методов:
Метод 1: отзыв токена по идентификатору
use Laravel\Sanctum\Sanctum;
public function revokeToken()
{
$tokenId = auth()->id();
Sanctum::revoke($tokenId);
}
Метод 2: отозвать все токены
use Laravel\Sanctum\Sanctum;
public function revokeAllTokens()
{
$user = auth()->user();
Sanctum::revokeTokens($user);
}
Метод 3: отзыв токена с использованием модели токена
use Laravel\Sanctum\PersonalAccessToken;
public function revokeToken()
{
$token = PersonalAccessToken::findToken('token-id');
$token->delete();
}
Метод 4: отзыв токена с использованием экземпляра токена
use Laravel\Sanctum\PersonalAccessToken;
public function revokeToken()
{
$token = auth()->user()->currentAccessToken();
$token->delete();
}
Метод 5: отзыв токена с помощью Sanctum Revoker
use Laravel\Sanctum\Http\Controllers\CsrfCookieController;
public function revokeToken()
{
$cookieController = new CsrfCookieController();
$cookieController->logout();
}
Метод 6: отзыв токена с помощью HTTP-клиента
use Illuminate\Support\Facades\Http;
public function revokeToken()
{
$response = Http::withHeaders([
'Authorization' => 'Bearer token',
])->post('/logout');
}
Вот некоторые методы, которые вы можете использовать для удаления токена текущего запроса в Laravel Sanctum. Выберите метод, который лучше всего соответствует вашим требованиям.