# Dietbox B2C — Uma base de identidade, dois públicos, jornadas de login customizadas.

> Políticas customizadas de Azure AD B2C para um produto cujos dois públicos não dividem nada além da conta: a profissional que assina e o paciente convidado por ela. Login federado, migração silenciosa da base legada e revogação que de fato encerra a sessão em todo lugar.

## Visão geral

Um único sistema de identidade em Azure AD B2C carregando dois públicos que não dividem nada além da conta: a nutricionista que assina e paga, e o paciente que chega por convite de quem o atende. Cinco clientes fazem login por ele — o app da nutricionista, o app Android do paciente, o app iOS do paciente, o produto web que os dois públicos usam e o checkout — em três plataformas e dois tenants. Três anos de jornadas de login customizadas, provedores federados, migração silenciosa da base legada e revogação de sessão que alcança todo navegador aberto.

## Stack

- Azure AD B2C
- Identity Experience Framework
- XML
- OpenID Connect
- OAuth 2.0
- .NET 6
- HTML
- CSS
- Azure DevOps

## Destaques

- Cadastro e login para cada público, na própria política e nas próprias páginas com marca.
- Mais dois logins com bloqueio de acesso para a nutricionista além do comum — assinantes e alunos da academy —, cada um com política própria.
- Recuperação de senha, troca de senha e edição de perfil, cada um um ponto de entrada próprio, por público.
- Uma troca direta de credenciais para os apps nativos, ao lado do redirect de navegador que os clientes web usam — mesmo diretório, mesmas regras, dois formatos.
- Renovação de refresh token como jornada própria, uma por tipo de acesso, para que um token renovado seja reconferido em vez de presumido válido.
- Login federado com três provedores, cada um trocado por uma claim de subject comum.
- Migração silenciosa da base legada durante a própria jornada de login do usuário.
- Páginas com marca por público, um conjunto para a profissional e um para o paciente.
- Bloqueios de direito de acesso para jornadas de assinante e academy, aplicados dentro do fluxo de login em vez de depois dele.

## Papel

Engenheiro de Software Sênior, depois Head de Tecnologia · 2021–2024. Trabalho profissional de código fechado — o texto descreve o projeto sem o código.

---

Source: https://felipealmeida.tech/pt/projects/dietbox-b2c
