image

Unlimited bootcamps + English course forever

80
%OFF
Article image

SW

Silvio Watakabe09/05/2025 18:19
Share
Microsoft 50 Anos - Prompts InteligentesRecommended for youMicrosoft 50 Anos - Prompts Inteligentes

Construindo APIs RESTful Seguras com Laravel Passport: Passo a Passo

  • #PHP
  • #Laravel

O que é o Laravel e o Laravel Passport

Laravel é um “conjunto de ferramentas” que ajuda a gente a criar sites e sistemas sem ter que começar do zero, tipo montar um Lego em vez de criar tijolo por tijolo.

Laravel Passport é um pedaço extra desse Lego que cuida de segurança: ele ajuda a criar “chaves” para doar acesso só a quem é autorizado.

Ele funciona usando o padrão OAuth2, que é como dar chaves mágicas que expiram para garantir que ninguém use o sistema sem permissão.

Qual a importância do Laravel Passport

Passport garante que só usuários ou apps com chave correta entrem nos segredos do seu sistema.

Ele transforma seu site em um “cofre” protegido, evitando que pessoas mal-intencionadas fuçem nos dados.

Além disso, ele já vem prontinho pra usar, poupando várias linhas de código e trabalho de configuração.

Exemplo de AuthController para registrar e fazer login usando Laravel Passport

<?php
class AuthController extends Controller
{
  // Método para registrar um novo usuário
  public function register(Request $request)
  {
      // Criar o usuário
      $user = User::create([
          'name' => $request->name,
          'email' => $request->email,
          'password' => bcrypt($request->password),
      ]);

      // Retornar resposta de sucesso
      return response()->json(['message' => 'Usuário registrado com sucesso!'], 201);
  }

  // Método para fazer login do usuário
  public function login(Request $request)
  {
      // Validar os dados recebidos
      $request->validate([
          'email' => 'required|string|email',
          'password' => 'required|string',
      ]);

      // Verificar as credenciais
      if (!Auth::attempt($request->only('email', 'password'))) {
          return response()->json(['message' => 'Credenciais inválidas'], 401);
      }

      // Gerar o token de acesso
      $user = $request->user();
      $token = $user->createToken('Token de Acesso')->accessToken;

      // Retornar o token
      return response()->json(['token' => $token], 200);
  }
}

Exemplos de implementação do Laravel Passport

API de um app de tarefas: cada usuário ganha um token para criar, editar ou apagar tarefas.

Sistema de jogos online: só quem tem token válido consegue enviar pontuação para o ranking.

Aplicativo móvel: o app recebe um access token no login e usa ele para puxar dados do servidor.

Abaixo uso do Laravel Passport em um TaskController após o login do usuário

<?php

namespace App\Http\Controllers;

use App\Models\Task;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class TaskController extends Controller
{
  // Listar todas as tarefas do usuário autenticado
  public function index()
  {
      return response()->json(Auth::user()->tasks);
  }

  // Criar uma nova tarefa
  public function store(Request $request)
  {
      $request->validate([
          'title' => 'required|string|max:255',
          'description' => 'nullable|string',
      ]);

      $task = Auth::user()->tasks()->create($request->all());

      return response()->json($task, 201);
  }

  // Exibir uma tarefa específica
  public function show(Task $task)
  {
      $this->authorize('view', $task);

      return response()->json($task);
  }

  // Atualizar uma tarefa
  public function update(Request $request, Task $task)
  {
      $this->authorize('update', $task);

      $request->validate([
          'title' => 'sometimes|required|string|max:255',
          'description' => 'nullable|string',
      ]);

      $task->update($request->all());

      return response()->json($task);
  }

  // Deletar uma tarefa
  public function destroy(Task $task)
  {
      $this->authorize('delete', $task);

      $task->delete();

      return response()->json(null, 204);
  }
}

Conclusão

Neste artigo, exploramos como o Laravel Passport pode ser uma ferramenta poderosa para proteger APIs RESTful. Vimos como configurar o Passport, criar rotas protegidas e implementar um controller para gerenciar autenticação e recursos de forma segura. Com o Passport, é possível emitir tokens de acesso que garantem que apenas usuários autenticados possam interagir com a API, seguindo os padrões do OAuth2.

Além disso, aprendemos a proteger rotas utilizando middleware, garantindo que apenas requisições autenticadas possam acessar determinados endpoints. Isso é essencial para manter a integridade e a segurança dos dados em aplicações modernas.

Se você deseja aprofundar seus conhecimentos, recomendo a leitura da documentação oficial do Laravel Passport , que oferece uma visão abrangente sobre suas funcionalidades e configurações avançadas.

Fontes de Produção

Capa: Criada por Silvio

Conteúdo: Gerado por ChatGPT com revisões humanas

Rede social

Curtiu essa explicação? Então me segue lá nas redes para não perder nenhum conteúdo bacana:

LinkedIn: https://www.linkedin.com/in/swat2023

#LaravelPassport #APISegura #Desenvolvedor

Share
Recommended for you
Microsoft 50 Anos - Prompts Inteligentes
Microsoft 50 Anos - GitHub Copilot
Microsoft 50 Anos - Computação em Nuvem com Azure
Comments (0)
Recommended for youMicrosoft 50 Anos - Prompts Inteligentes