Permitir que admins e gerentes criem chaves de API para acesso programatico ao Fixr, com mesmo nivel de acesso do perfil do criador.
Schema:
api_keys (id, name, key_hash, prefix, employee_id, company_id, scopes[], expires_at, last_used_at, created_at, revoked_at)
Implementacao:
- Servico de geracao: prefixo + crypto.randomBytes + hash bcrypt do secret
- Middleware
authenticateApiKey no Fastify (busca por prefixo, verifica hash, checa expiracao/revogacao)
- Endpoints:
GET /companies/:subdomain/api-keys - listar (mostrar apenas prefixo, nunca o secret)
POST /companies/:subdomain/api-keys - criar (mostrar secret uma vez)
DELETE /companies/:subdomain/api-keys/:id - revogar
- Frontend
/settings/api-keys com listagem, criacao, copia unica do secret, revogacao
- Rate limiting por key
Permitir que admins e gerentes criem chaves de API para acesso programatico ao Fixr, com mesmo nivel de acesso do perfil do criador.
Schema:
api_keys(id, name, key_hash, prefix, employee_id, company_id, scopes[], expires_at, last_used_at, created_at, revoked_at)Implementacao:
authenticateApiKeyno Fastify (busca por prefixo, verifica hash, checa expiracao/revogacao)GET /companies/:subdomain/api-keys- listar (mostrar apenas prefixo, nunca o secret)POST /companies/:subdomain/api-keys- criar (mostrar secret uma vez)DELETE /companies/:subdomain/api-keys/:id- revogar/settings/api-keyscom listagem, criacao, copia unica do secret, revogacao