Simplificando a Autenticação API com Laravel e Sanctum

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:

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.

Lucas Oliveira

Software Developer | PHP | Laravel | Vue.js | Scrum | Git | MySQL

1 a

Irei ler

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos