Pular para o conteúdo

Organizações

Atenda seus clientes corporativos a partir de um realm: cada organização tem membros, domínios provados, provedores de login e identidade visual próprios, e aparece nos tokens.

Uma organização é um dos seus clientes — uma empresa que compra o seu produto — vivendo dentro de um realm. As pessoas dela são usuários comuns do realm; a organização diz de quem elas são, por quais provedores entram, qual identidade visual veem e, pelo org_id no token, de qual cliente é cada requisição.

Você não precisa de um realm por cliente. Um realm, um conjunto de clients e uma organização para cada empresa que você atende.

O que uma organização tem

ParteO que faz
HandleO alias que a sua aplicação envia para pedir o login deste cliente, como globex. De 2 a 64 letras minúsculas, dígitos e hífens, começando e terminando com letra ou dígito; único no realm e fixo depois de criado.
MembrosOs usuários do realm que pertencem a ela. A filiação diz de quem a pessoa é e não concede nada por si só.
DomíniosDomínios de e-mail que o cliente provou controlar, por DNS.
Provedores de sign-inProvedores de identidade externos do realm oferecidos a este cliente, como o diretório Microsoft Entra da empresa.
Identidade visualLogo, cor primária e cor de fundo, aplicados sobre a tela de login do client. O que ficar vazio mantém o do client.
StatusUma organização suspensa não admite ninguém, é ignorada no login e deixa de aparecer nos tokens. Membros, domínios e provedores são mantidos.
Organizações não têm convites nem papéis próprios. Adicione membros pelo console ou deixe um domínio provado admiti-los, e dê permissões com papéis, diretos ou por grupos.

Configure uma organização

  1. Crie a organização

    Abra Organizações, escolha Nova organização, selecione o realm e dê um nome de exibição e um handle. O handle é sugerido a partir do nome; confira agora, porque ele não muda depois.

  2. Prove um domínio

    Na aba Sign-in da organização, escolha Reivindicar domínio e digite-o, como globex.com. Publique no domínio o registro TXT mostrado e escolha Verificar:

    Registro DNS TXT em globex.comTexto simples
    authio-domain-verification=<valor mostrado no console>

    O domínio passa de Aguardando prova para Provado. A verificação não é refeita sozinha: publique o registro primeiro e depois verifique. Um domínio só pode pertencer a uma organização.

  3. Ofereça os provedores de login dela

    Ainda em Sign-in, escolha Oferecer provedor e selecione entre os provedores de identidade cadastrados no realm. Para cadastrar um, veja Login social e corporativo.

  4. Adicione membros

    Na aba Pessoas, escolha Adicionar membro e selecione usuários do realm — ou deixe um domínio provado admiti-los, como mostrado abaixo.

  5. Aplique a identidade visual

    Na edição da organização, defina a URL do logo e as cores que as pessoas dela veem no login.

Filiação automática por domínio

Ligue Admitir chegadas automaticamente e quem concluir o login com um endereço confirmado num dos domínios provados da organização vira membro, sem convite.

  • Duas provas são exigidas: o domínio verificado por DNS e o endereço da pessoa confirmado — pelo Authio, ou declarado como verificado por um provedor externo confiável. Um cadastro local com alguem@globex.com não confirmado não entra.
  • A opção é definida depois que a organização existe e não faz nada até haver um domínio provado.
  • Quando a aplicação nomeia uma organização no login, só ela pode admitir a pessoa.
  • Uma falha ao admitir nunca derruba o login: a pessoa entra sem a organização.

Faça o login numa organização

Acrescente organization, com o handle, à requisição de autorização. A sua aplicação decide qual cliente está entrando — normalmente pelo subdomínio ou por um trecho do caminho em que foi aberta — e repassa.

Requisição de autorizaçãoTexto simples
https://authio.api.hyperio.tech/realms/acme/protocol/openid-connect/auth
  ?client_id=acme-web
  &response_type=code
  &redirect_uri=https%3A%2F%2Fapp.acme.com%2Fapi%2Fauth%2Fcallback%2Fauthio
  &scope=openid%20profile%20email
  &code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
  &code_challenge_method=S256
  &state=af0ifjsldkj
  &organization=globex

Com um handle, o login hospedado desenha a identidade visual da organização e oferece os provedores oferecidos a ela no lugar dos do client. Um handle que não nomeia nenhuma organização ativa é ignorado, e o login segue como um login comum.

Nomear uma organização não restringe quem entra

Uma pessoa que não é membro entra normalmente e recebe tokens sem org_id. Confira org_id ou org_alias na sua aplicação antes de servir os dados de um cliente.

Organizações nos tokens

Quando um login pertence a uma organização, tanto o access token quanto o ID token a nomeiam:

Payload do access tokenJSON
{
  "iss": "https://authio.api.hyperio.tech/realms/acme",
  "sub": "6f1c2e7a-4b8d-4f0e-9a51-3c2d7e8b9f10",
  "azp": "acme-web",
  "scope": "openid profile email",
  "org_id": "b3e1d7c4-2f6a-4e9b-8d1c-7a5f0e2b4c96",
  "org_alias": "globex",
  "exp": 1791372600
}

O Authio decide a organização quando o login termina, nesta ordem:

  1. Se a requisição nomeou uma organização, ela — desde que a pessoa seja membro, ou tenha acabado de ser admitida pelo domínio, e a organização esteja ativa. Caso contrário, o token não nomeia nenhuma.
  2. Se a requisição não nomeou nenhuma, a organização em que a pessoa acabou de ser admitida por um domínio provado.
  3. Senão, a organização da pessoa quando ela pertence a exatamente uma organização ativa.
  4. Senão, nenhuma: org_id e org_alias ficam de fora.

Use org_id como chave do cliente nos seus próprios dados. A introspecção de token também devolve as duas claims.

Suspender ou excluir

  • Suspender mantém a organização inteira — membros, domínios, provedores — e a impede de admitir alguém, de moldar o login e de aparecer em novos tokens.
  • Excluir remove os domínios, os provedores oferecidos e todas as filiações. Os usuários continuam no realm.

Cada organização também pode decidir quais contas externas as pessoas dela podem conectar em nome dela; veja Contas conectadas.

Próximos passos

Cookies de analytics

Gostaríamos de medir como o console é usado, com o Google Analytics, para enxergar em quais telas as pessoas travam. Isso grava um cookie que reconhece este navegador na sua próxima visita.

Recusar não muda mais nada. Os cookies que mantêm você conectado e lembram o seu idioma e o seu tema são necessários para o console funcionar, e ficam de qualquer forma. Ler a Política de Privacidade