Analisando propostas

Desenvolvimento de Api Rest com Autenticação por Token para Saas em Next.js

Publicado em 24 de Maio de 2026 dias na TI e Programação

Sobre este projeto

Aberto

Estamos buscando um desenvolvedor para criar uma api rest autenticada por token para nossa plataforma saas. O objetivo é permitir a integração com ferramentas como Claude, scripts e automações, fornecendo acesso seguro e controlado aos dados.

Nossa stack atual em produção inclui Next.js 16 (App Router), Prisma 6.19, PostgreSQL e NextAuth 4.24. É Crucial que não sejam introduzidas novas dependências, utilizando as que já existem no projeto (por exemplo, bcryptjs já está disponível).

O projeto é de natureza read-only para a API de tokens e tem uma estimativa de 8-10 horas de trabalho.

As tarefas a serem realizadas incluem:

1.  Criação de nova tabela PersonalAccessToken:
    *  Utilizar Prisma para o modelo e realizar a migration.
    *  Campos necessários: id, userId (FK User), name, tokenHash (bcrypt), prefix, scopes (string[]), lastUsedAt, expiresAt, revokedAt, createdAt.
    *  Importante: Não modificar a tabela AuthToken existente, pois ela é utilizada para fluxos de login e não deve ser afetada.

2.  Implementação de Middleware de Autenticação (src/lib/auth/pat-auth.ts):
    *  O middleware deve ler o cabeçalho Authorization: Bearer pat_xxx.
    *  Validar a autenticidade do token (verificar se não está expirado ou revogado).
    *  Checar os scopes associados ao token para autorização.
    *  Atualizar o campo lastUsedAt a cada uso do token.

3.  Desenvolvimento de Endpoints da API:
    *  Endpoints para Gerenciamento de Token (acessíveis via login de sessão normal):
        *  POST /api/me/tokens: Cria um novo token e o exibe uma única vez.
        *  GET /api/me/tokens: Lista todos os tokens do usuário.
        *  DELETE /api/me/tokens/:id: Revoga um token específico (soft delete, não exclusão física).
    *  Endpoints para Leitura de Dados (protegidos por Bearer token):
        *  GET /api/me: Retorna perfil do usuário, créditos e informações de assinatura.
        *  GET /api/me/credits-history: Histórico de créditos.
        *  GET /api/me/generations: Dados de gerações.
        *  GET /api/me/tasks e /api/tasks/:id: Tarefas (apenas as do proprietário do token).
        *  GET /api/me/subscriptions: Assinaturas do usuário.
        *  GET /api/me/orders: Pedidos (sem o campo metadata sensível).
    *  Cada endpoint de leitura deve ser protegido por um scope específico (ex: read:profile, read:credits).

4.  Criação de Tela /dashboard/api-tokens:
    *  Interface para listar, criar e revogar tokens de API.
    *  Na criação, permitir definir nome, scopes e validade do token.
    *  Exibir o token gerado uma única vez, com um aviso claro para o usuário copiá-lo imediatamente, pois não será visível novamente.

5.  Registro de Auditoria:
    *  Registrar eventos de criação (pat.create) e revogação (pat.revoke) de tokens na tabela AuditLog já existente.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Criar um novo site personalizado

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por João P. P. R.