GKONE · GK One Identity
Resumo
GKONE é a plataforma bancária em produção de um banco jamaicano. Desde 2021 Alvaro entrega features no app mobile, nos web apps, nos microsserviços e na identidade do banco, primeiro via The Bridge Social e depois de forma direta pela Accentio Studios, quando o banco decidiu mantê-lo. A maior entrega dele é o GK One Identity (GKID): a camada OAuth 2.1 / OpenID Connect própria do banco, na frente do Microsoft Entra External ID. Ela dá a cada app do GK One e a cada parceiro aprovado uma única conta de cliente, single sign-on, consentimento e permissões revogáveis. Alvaro construiu o front web em React, as telas de administração, o servidor de autorização em .NET 10 e as portas de entrada no mobile: o login com Entra ID e o launcher de apps do GK ID.
Pontos-chave
Login web do GKID224 dos 229 commits do repositório; 20 etapas de autenticação, 96 arquivos de teste unitário com 1.122 casos (Vitest + Testing Library) e 6 specs e2e em Playwright
Construiu o login web do GKID em Next.js 15 (App Router) + React 19 + TypeScript, com Zustand, react-hook-form e Zod sobre as APIs de autenticação nativa do Microsoft Entra: sign-in, sign-up, redefinição de senha, OTP por e-mail, consentimento, seletor de contas, SSO silencioso e transferência de sessão a partir do app mobile. Migrou o app de uma SPA em Vite para Next.js.
Tokens fora do navegadorNenhum token no storage do navegador; uma única imagem Docker promovida de Dev a Prod, com o Azure App Configuration carregado na inicialização
Tirou todos os tokens do navegador: 13 route handlers do Next.js funcionam como backend-for-frontend, a sessão fica em um cookie HttpOnly __Host- e as checagens de mesma origem e Fetch Metadata bloqueiam requisições cross-site.
Portal de conta self-service4 páginas de conta, publicadas com Azure Pipelines (Dev, QA, UAT, Prod), Docker e SonarQube
Construiu em React o portal de conta self-service: o cliente vê os apps que conectou, revoga o acesso, encerra sessões por navegador ou em todos e consulta os dispositivos registrados.
Seção GK Identity do adminO time do banco registra um app de parceiro novo a partir de um único wizard; Alvaro escreveu as 5.272 linhas da seção
Construiu a seção GK Identity do portal administrativo do banco em Next.js + React + MUI: um wizard que cria o app do Entra e o service principal em 6 etapas e tenta de novo a partir da que falhou, geração e revogação de client secrets, scopes, política de consentimento, single sign-on por app e recursos de API.
Admin do conteúdo do appCerca de 6.700 linhas construídas de ponta a ponta; principal autor do portal, com cerca de 60% do código
Construiu as telas do admin que controlam a home do app mobile: itens do menu de serviços e promoções por tenant, com cópia ou movimentação entre tenants e desativação e exclusão em massa.
Servidor de autorização OAuth 2.13 controllers com 56 endpoints (OAuth2, administração do Entra, conflitos de identidade), 108 arquivos de teste xUnit com 1.346 casos e 155 dos 156 commits do código OAuth
Escreveu o servidor de autorização do GK One Identity em .NET 10 (/oauth2/v1): authorization code com PKCE S256, rotação de refresh tokens com detecção de reuso, JWKS RS256 com rotação de chaves, discovery, userinfo, introspection, resource indicators (RFC 8707) e logout iniciado pelo cliente. Reforçou a segurança com 8 políticas de rate limit e refresh e session tokens guardados como hashes SHA-256.
Launcher do GK ID completoUma feature entregue no app Flutter, no IAM em .NET e no login em Next.js
Construiu de ponta a ponta o launcher de apps do GK ID: o app Flutter emite um código de transferência de sessão de uso único, o IAM o resgata e o login web abre o app de destino com a sessão iniciada, sem um segundo login.
Migração de B2C para EntraMigração de identidade completa em mobile, web e integrações de parceiros
Migrou a identidade dos clientes de Azure AD B2C para Microsoft Entra External ID no app Flutter, nos web apps do banco e nas integrações de terceiros: cada conta migra no próximo login com validação JWKS, e um endpoint em lote migra o restante.
Resolução de conflitos de identidadeDetecção, merge, telas de admin e fluxo mobile construídos de ponta a ponta
Construiu a resolução de conflitos de identidade: o sistema detecta clientes duplicados e passa cada caso por aprovação maker-checker no portal administrativo. Um orquestrador de merge com checagens prévias, snapshot no Cosmos DB e rollback executa o merge aprovado a partir de uma fila do Azure Service Bus e derruba as sessões antigas.
Documentação com Diátaxis26 documentos, 62 de 62 commits
Documentou o GK One Identity em 26 documentos organizados pelo Diátaxis: tutoriais, guias how-to, referência e explicação.
Login com Entra ID no FlutterMais de 1.600 commits desde 2021; escreveu por completo o módulo de Entra ID (51 arquivos), 82% da Home V2 e 75% da gestão de conta
Construiu no app Flutter o login e o cadastro com Microsoft Entra ID (ativação de biometria, login social atrás de feature flag, detecção de root e jailbreak) e a maior parte da Home V2, da gestão de conta, da recarga de celular e do histórico de transações, além de mudanças de API nos microsserviços core, remittance e wallet.