GKONE · GK One Identity

Empresa
Projeto para cliente
Periodo
2021 – Presente (Em andamento)
Local
Jamaica
Categoria
Cliente

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.

Stack

  • React
  • Next.js
  • TypeScript
  • Zustand
  • React Hook Form
  • Zod
  • Tailwind
  • MUI
  • Vitest
  • Playwright
  • .NET 10
  • C#
  • OAuth 2.1
  • OpenID Connect
  • PKCE
  • Microsoft Entra External ID
  • Azure AD B2C
  • MassTransit
  • Azure Service Bus
  • Cosmos DB
  • SQL Server
  • Azure API Management
  • Azure App Configuration
  • Azure Pipelines
  • Docker
  • Flutter
  • Firebase
  • Fastlane
PREPARADO PARA
  • Leitores de tela
  • Agentes LLM
  • Parsers ATS
  • Responsivo
  • Carga rapida
alvaro-bash --project gkone --locale brEXIT 0v1.0.0· — · São Paulo · Brasil
ABRIR TERMINAL