Sanctum guard для Authorization: Bearer Token

Sanctum guard для Authorization: Bearer Token

Пример использования кастомного Laravel Guard для авторизации пользователя по ключу Bearer без сохранения состояния.

В app\Providers\AuthServiceProvider.php добавляем обработчик для быстрого определения аутентификации через замыкание с помощью метода Auth::viaRequest. Далее получаем ключ вызвав метод $request->bearerToken(). Находим нужный ключ в таблице ключей доступа и переходим к поиску пользователя. На выход отдаем пользователя или null. Данное решение не претендует на звание правильного, но имеет место быть.

namespace App\Providers;

use App\Models\User;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Laravel\Sanctum\PersonalAccessToken;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The model to policy mappings for the application.
     *
     * @var array<class-string, class-string>
     */
    protected $policies = [
        //
    ];

    /**
     * Register any authentication / authorization services.
     */
    public function boot(): void
    {
        Auth::viaRequest('bearer_token', function (Request $request) {
            $bearer = $request->bearerToken();

            if (!$bearer) {
                return null;
            }

            $token = PersonalAccessToken::findToken($bearer);

            if ($token) {
                return User::find($token->tokenable_id);
            }

            return null;
        });
    }
}

Подробнее можно ознакомиться здесь.

Похожие статьи

Контейнер свойств

Контейнер свойств — фундаментальный шаблон проектирования, который служит для обеспечения возможности динамического расширения свойств уже созданного объекта класса.

Дублирование и клонирование записей с Laravel

Вам когда-нибудь приходилось дублировать или клонировать запись базы данных? Laravel предоставляет для этого очень удобную функцию.

Преобразовать HTML в PDF

Dompdf — конвертер HTML в PDF. По своей сути, dompdf — это (в основном) совместимый с CSS 2.1 HTML-макет и механизм рендеринга, написанный на PHP

Copyright © 2026 PHP Blog - шпаргалки программиста