Introdução
O Laravel oferece suporte poderoso para a criação de APIs robustas e seguras. Com o Laravel Sanctum, você pode autenticar usuários para acessar suas APIs de forma segura, seja por meio de token de acesso ou por meio de cookies de sessão. Neste tópico, exploraremos como usar o Laravel Sanctum para proteger suas APIs.
Configurando o Laravel Sanctum
Instalação
Comece instalando o Laravel Sanctum via Composer:
composer require laravel/sanctum
Em seguida, publique as configurações do Sanctum:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
Executando Migrações
Depois de publicar as configurações, execute as migrações do Sanctum para criar as tabelas necessárias no banco de dados:
php artisan migrate
Protegendo Rotas da API
Com o Sanctum instalado e configurado, você pode começar a proteger suas rotas de API.
Middleware de Autenticação
O Sanctum fornece um middleware que você pode usar para proteger suas rotas de API. Adicione o middleware EnsureFrontendRequestsAreStateful
ao seu grupo de middleware de API no arquivo app/Http/Kernel.php
:
<?php
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
'api' => [
EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
Autenticação com Sanctum
Gerando Tokens de API
Com o Sanctum, você pode gerar tokens de API para autenticar usuários. Use o método createToken
no modelo User
:
<?php
use Illuminate\Support\Facades\Auth;
$user = Auth::user();
$token = $user->createToken('token-name')->plainTextToken;
Autenticação via Token
Para autenticar uma solicitação API usando um token, inclua o token no cabeçalho Authorization
da solicitação:
Authorization: Bearer {token}
Autenticação via Cookies
Além dos tokens de API, o Sanctum também suporta autenticação via cookies de sessão. Isso permite que você autentique solicitações API usando cookies da mesma forma que autenticaria solicitações da web.
Conclusão
O Laravel Sanctum oferece uma maneira poderosa de proteger suas APIs com autenticação de token e cookies de sessão. Ao usar o Sanctum, você pode garantir que suas APIs estejam seguras e protegidas contra acesso não autorizado. Com a configuração adequada e o uso correto das funcionalidades do Sanctum, você pode construir APIs robustas e seguras para suas aplicações Laravel. Nos próximos tópicos, continuaremos explorando outros aspectos avançados do desenvolvimento web com o Laravel.