Simplificando a Autenticação API com Laravel e Sanctum
Introdução
No mundo do desenvolvimento de aplicativos web modernos, a autenticação é um componente crítico que garante a segurança e a integridade dos dados do usuário. Laravel, um framework PHP robusto, em conjunto com o Sanctum, oferece uma solução simplificada e eficaz para gerenciar a autenticação API. Neste artigo, exploraremos como você pode implementar a autenticação API usando Laravel e Sanctum com exemplos de código práticos.
O que é Laravel Sanctum?
Laravel Sanctum fornece um sistema de autenticação leve para SPAs (single page applications), aplicativos móveis e APIs simples. É particularmente útil para gerenciar tokens API e oferece várias funcionalidades, como emissão de tokens de API personalizados e a habilidade de revogá-los.
Configuração do Sanctum
Para começar, instale o Sanctum via Composer:
composer require laravel/sanctum
Após a instalação, publique o arquivo de configuração do Sanctum:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
Implementando a Autenticação
Vamos criar um sistema básico de autenticação. Primeiro, configure o modelo User para usar o HasApiTokens do Sanctum:
Recomendados pelo LinkedIn
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
}
Em seguida, defina as rotas de autenticação em routes/api.php:
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Autenticando Usuários e Emitindo Tokens
Para autenticar um usuário e emitir um token, você pode criar um controller com um método login:
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
$token = $request->user()->createToken('Token Name')->plainTextToken;
return response()->json(['token' => $token], 200);
}
return response()->json(['error' => 'Credenciais inválidas'], 401);
}
Protegendo Rotas
Para proteger suas rotas API, utilize o middleware auth:sanctum:
Route::middleware('auth:sanctum')->get('/protected-route', function () {
// Código protegido
});
Conclusão
Laravel Sanctum é uma solução eficiente para gerenciar a autenticação em aplicativos Laravel. Com sua fácil configuração e integração, você pode garantir a segurança dos dados do usuário de maneira eficaz. Esperamos que este artigo tenha ajudado a entender melhor como implementar a autenticação API usando Laravel e Sanctum.
Software Developer | PHP | Laravel | Vue.js | Scrum | Git | MySQL
1 aIrei ler