Login da organização nas aplicações
Com o login da organização ligado, as pessoas entram na sua aplicação com a conta que já têm na organização dona do projeto — a mesma com que entram no console do Zero. A plataforma faz o login, guarda a sessão, renova e encerra; a aplicação só lê quem entrou:
const user = await nn.auth.user(req) // a pessoa, ou null
A aplicação não configura OIDC, não guarda sessão e não recebe token do provedor de identidade, token de renovação nem segredo. Não há nada para copiar para variáveis ou secrets.
Para quem
- Aplicações da organização — painéis, ferramentas internas, portais — publicadas como aplicação web com o endereço público do Zero.
- Quem precisa saber quem está usando para decidir o que mostrar, sem montar um login.
O que a aplicação recebe
| Campo | O que é |
|---|---|
id | o identificador da pessoa no IAM da organização |
username, name, email, emailVerified | quando a conta os tem |
organization | { id, slug } — a organização do projeto |
sessionId | referência da sessão na plataforma (não é o cookie) |
Como funciona
- A pessoa abre a aplicação. Sem sessão, a aplicação decide: mostrar a parte pública ou mandar para o login.
- O login acontece no IAM da organização — a tela de sempre, com as regras da organização (senha, segundo fator).
- A plataforma guarda a sessão e, a cada requisição, confere a sessão e entrega à aplicação uma identidade assinada, válida por 5 minutos e só para esta aplicação.
- O SDK confere a assinatura e devolve a pessoa.
Os caminhos em /.nnumbers/ são da plataforma, no endereço da própria aplicação:
| Caminho | O que faz |
|---|---|
/.nnumbers/auth/login?return_to=/painel | entra e volta ao caminho pedido (só caminho da própria aplicação) |
/.nnumbers/auth/logout | sai — POST a partir de um formulário da própria aplicação |
/.nnumbers/auth/session | o estado da sessão, para o navegador |
O que a plataforma garante
- A identidade não se forja. A plataforma remove, na entrada, qualquer cabeçalho de identidade que venha do navegador; a identidade entregue é assinada, vale para uma aplicação só e por 5 minutos. Uma aplicação não aceita a identidade entregue a outra, nem a de outra organização.
- Nenhuma credencial na aplicação. Não existe segredo de cliente; os tokens do IAM ficam cifrados na plataforma.
- A organização manda. O login é o da organização do projeto — não há como apontar outro. Pessoa desativada ou sessão encerrada no IAM derrubam a sessão da aplicação no vencimento do acesso emitido pelo IAM, em minutos.
- A sessão tem prazo. 30 minutos sem uso ou 12 horas no total; sair encerra a sessão também no IAM.
O cookie de sessão da plataforma chega à aplicação, porque o endereço é o mesmo. Ele não serve para fabricar identidade, mas não o registre em log nem o repasse.
Limites
- Vale no endereço público que o Zero dá ao projeto; o domínio próprio ainda não tem o login da organização.
- Só para aplicações web.
- Cada organização precisa, uma vez, que a plataforma autorize o registro de aplicações no IAM dela. Até lá a capacidade fica em Falta configurar na plataforma, e segue sozinha depois.
- O console ainda não tem a tela: ligue pela CLI ou pela API.
- Para consultar dados da organização em nome da pessoa, ligue também o QueryMesh.
Próximos passos
Esta página ajudou?
Reportar um problema nesta páginaNão envie senhas, chaves, tokens ou dados de clientes.