Especialista IAM/Oauth/fapi para api de autenticação financeira
descrição
a two-s busca um profissional sênior, com experiência comprovada em iam, oauth 2.0, OpenID Connect e segurança de APIs, para desenvolver a API responsável pela autenticação do seu aplicativo financeiro.
Não buscamos apenas uma rota de login com JWT. Precisamos de uma solução de nível financeiro que proteja o acesso do aplicativo à Core Banking API.
Entrega no maximo em 10 dias
ESCOPO
O contratado será responsável por:
- Primeiro acesso e ativação do usuário;
- Login, logout e recuperação de acesso;
- Cadastro e gerenciamento de dispositivos;
- MFA e autenticação reforçada;
- Emissão de access token de curta duração;
- Refresh token com rotação e detecção de reutilização;
- Revogação de sessões, dispositivos e usuários;
- Proteção contra brute force, credential stuffing, enumeração e replay;
- Auditoria dos eventos de segurança;
- Middleware para validação dos tokens na Core Banking API;
- Documentação e testes de segurança.
Requisitos de arquitetura
a solução deverá considerar:
- oauth 2.0 Authorization Code com PKCE;
- OpenID Connect;
- FAPI 2.0 Security Profile;
- DPoP para vincular tokens ao dispositivo;
- Aplicativo tratado como public client, sem client_secret;
- Chaves assimétricas e publicação via jwks;
- kms, hsm ou solução equivalente para proteger chaves privadas;
- tokens com privilégio mínimo;
- proteção contra bola/idor;
- owasp api security, owasp masvs, nist 800-63-4 e lgpd.
A biometria não será enviada para a API. Ela deverá apenas desbloquear localmente uma chave protegida no Secure Enclave, Keychain ou Android Keystore.
AUTENTICAÇÃO de operações
a api deverá fornecer mecanismo de step-up authentication para operações sensíveis.
A autorização deverá ser vinculada ao usuário, sessão, dispositivo, valor, favorecido e intenção da operação. Se algum dado relevante for alterado, a autorização deverá perder a validade.
A API de autenticação não executará Pix ou operações financeiras. Ela fornecerá somente a autenticação e a autorização segura da intenção.
STACK
-
Node.js;
- TypeScript;
- Fastify;
- PostgreSQL;
- Redis;
- OpenAPI 3.1;
- Docker e Git.
O profissional poderá recomendar um provedor de identidade existente, mas deverá apresentar custos, riscos, dependência do fornecedor e impactos operacionais. Não será aceita criptografia proprietária ou protocolo de autenticação improvisado.
Entregáveis
- código-fonte no repositório da two-s;
- threat model e decisões arquiteturais;
- openapi completa;
- modelo de dados e migrations;
- middleware/sdk para a core banking api;
- testes unitários, integração, concorrência e segurança;
- testes contra roubo, alteração e replay de tokens;
- sast, sca, dast, secret scanning e sbom;
- logs e métricas sem dados sensíveis;
- runbooks de revogação, incidentes e rotação de chaves;
- documentação de execução, homologação, deploy e rollback;
- transferência de conhecimento.
Forma de trabalho
o desenvolvimento acontecerá no repositório da contratante, por pull requests e entregas divididas em marcos.
Toda alteração deverá ser validada primeiro localmente e depois em homologação. Produção somente após aprovação expressa.
É Proibido utilizar dados reais ou armazenar senhas, tokens, certificados e segredos no código ou nos logs.
Fora do escopo
- desenvolvimento do aplicativo mobile;
- saldo, extrato, pix, limites e transferências;
- abertura de conta;
- integration api;
- integração com lydians, dict, spi ou banco central;
- sistema antifraude completo.
Perfil procurado
procuramos profissional com experiência real em:
- iam, oauth 2.0 e OpenID Connect;
- APIs financeiras ou sistemas de alto risco;
- Segurança mobile e vínculo de dispositivo;
- Dpop, tokens, sessões e revogação;
- kms/hsm e criptografia aplicada;
-
node.js, TypeScript e Fastify;
- Threat modeling e testes de segurança.
Para enviar a proposta
inicie a proposta com: fapi two-s
responda também:
1. Qual sua experiência prática com Oauth, oidc ou iam?
2. Como protegeria tokens contra roubo e replay em outro dispositivo?
3. Como implementaria PKCE e DPoP no aplicativo?
4. Como a Core Banking API validaria identidade, escopos e sessão?
5. Você recomenda solução própria ou provedor de identidade? Por quê?
6. Informe prazo, valor por marco, disponibilidade e garantia.
Propostas que resumam a solução a “jwt + https” não serão consideradas.
Plazo de Entrega: No definido