Segurança do Projeto
Gerencie chaves JWT, API Keys com scopes e tokens de autenticação para seu módulo.
Visão Geral
Cada projeto na IDE possui seu próprio sistema de segurança isolado, permitindo que você:
- Gere chaves JWT secretas para autenticação de usuários
- Crie API Keys com permissões específicas (scopes)
- Gere tokens JWT para testes e integrações
Cada projeto tem suas próprias chaves e tokens. Isso garante que módulos diferentes não compartilhem credenciais de segurança.
JWT Secret — Chave Secreta
A chave JWT é usada para assinar e validar tokens de autenticação. Ela é gerada automaticamente quando você cria um projeto.
Visualizar Chave JWT
Acesse a seção "Segurança" no painel do seu projeto para ver a chave JWT atual.
{
"jwt_secret": "abc123xyz789...",
"api_keys": [...],
"module_name": "MeuModulo"
}
Regenerar Chave JWT
Se você suspeitar que sua chave foi comprometida, pode regenerá-la. Atenção: isso invalidará todos os tokens JWT existentes.
{
"jwt_secret": "nova_chave_gerada...",
"message": "Chave JWT regenerada. Tokens antigos foram invalidados."
}
Ao regenerar a chave JWT, todos os tokens existentes serão invalidados. Usuários precisarão fazer login novamente.
API Keys — Chaves de API
API Keys permitem autenticação sem login de usuário. Cada chave pode ter scopes (permissões) específicos.
Scopes Disponíveis
| Scope | Descrição | Exemplo de Uso |
|---|---|---|
read |
Permite apenas leitura de dados | Consultar produtos, listar usuários |
write |
Permite criar e atualizar dados | Criar pedidos, atualizar perfil |
delete |
Permite deletar dados | Remover produtos, cancelar pedidos |
admin |
Acesso total (inclui read, write, delete) | Operações administrativas |
Criar API Key
Você pode criar múltiplas API Keys com diferentes permissões para diferentes integrações.
{
"label": "Integração Mobile",
"scopes": ["read", "write"]
}
{
"api_key": "vupi_abc123xyz789...",
"label": "Integração Mobile",
"scopes": ["read", "write"],
"message": "API key gerada. Copie agora — ela não será exibida novamente."
}
A API Key completa é exibida apenas uma vez na criação. Guarde-a em um local seguro (variáveis de ambiente, gerenciador de senhas).
Usar API Key nas Requisições
Envie a API Key no header X-API-Key ou Authorization: Bearer:
curl -X GET https://api.vupi.us/meumodulo/api/produtos \
-H "X-API-Key: vupi_abc123xyz789..."
Revogar API Key
Se uma chave foi comprometida ou não é mais necessária, você pode revogá-la:
{
"message": "API key revogada."
}
Gerar Tokens JWT para Testes
Durante o desenvolvimento, você pode gerar tokens JWT temporários para testar suas rotas protegidas.
{
"ttl": 3600,
"claims": {
"user_id": "123",
"role": "admin"
}
}
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600,
"message": "Token JWT gerado para o projeto."
}
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
ttl |
integer | Tempo de vida do token em segundos (60 a 2.592.000 — 1 min a 30 dias) |
claims |
object | Dados personalizados a serem incluídos no token (user_id, role, etc.) |
Protegendo Rotas com Scopes
Use middlewares para validar scopes nas suas rotas:
use Src\Kernel\Middlewares\ApiKeyScopeMiddleware;
use Src\Kernel\Middlewares\RequireWriteScope;
use Src\Kernel\Middlewares\RequireDeleteScope;
// Rota que aceita qualquer API Key válida
$router->get('/api/produtos', [ProdutoController::class, 'list'], [
ApiKeyScopeMiddleware::class
]);
// Rota que exige scope 'write'
$router->post('/api/produtos', [ProdutoController::class, 'create'], [
RequireWriteScope::class
]);
// Rota que exige scope 'delete'
$router->delete('/api/produtos/{id}', [ProdutoController::class, 'delete'], [
RequireDeleteScope::class
]);
Boas Práticas de Segurança
Nunca Exponha Chaves
Não commite chaves JWT ou API Keys no código. Use variáveis de ambiente ou gerenciadores de segredos.
Rotacione Chaves
Regenere chaves periodicamente ou quando houver suspeita de comprometimento.
Princípio do Menor Privilégio
Crie API Keys com apenas os scopes necessários. Evite usar admin quando read é suficiente.
Monitore Uso
Revogue API Keys que não são mais usadas. Mantenha apenas as chaves ativas necessárias.
Próximos Passos
Middlewares de Autenticação
Aprenda a proteger suas rotas com middlewares de autenticação e autorização.
Ver MiddlewaresTestar Rotas
Use o API Route Tester para testar suas rotas protegidas com tokens e API Keys.
Testar Agora