Overview
O domínio de Identity é responsável por gerenciar quem é o usuário — seus dados pessoais, credenciais e mecanismos de autenticação.Conceitos
Autenticação
Fluxos de login (Google OAuth, email/senha) e ativação de conta por Invite.
Sessões JWT
Sessões revogáveis com JWT e refresh token protegido.
OTP
One-Time Password para verificações sensíveis baseadas em contexto.
Entidades
| Entidade | Descrição |
|---|---|
| User | Identidade global — credenciais e dados de acesso de admins, operadores, funcionários de empresa e passageiros. |
| UserSession | Sessão autenticada revogável, usada para validar sid, refresh token e audiência. |
| Customer | Perfil de passageiro — documento obrigatório, dados pessoais e identidade no gateway de billing. Relação 1:1 com User quando o usuário também é passageiro. |
| CustomerAddress | Endereços do customer (múltiplos, com um padrão). |
| OTP | Código descartável com tempo limitado para verificações sensíveis (ex: reset de senha). |
| Profile | Visão consolidada de User, Customer e escopo de acesso para o usuário autenticado. |
O User é uma identidade global — o mesmo usuário pode pertencer a múltiplas organizações com roles diferentes. O vínculo é representado por Membership no domínio de Tenant. Dados de passageiro (documento, nascimento, endereços) vivem no Customer, não no User. Bloquear um User impede autenticação e renovação de sessão em qualquer superfície.