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
| Parte | O que faz |
|---|---|
| Handle | O 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. |
| Membros | Os 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ínios | Domínios de e-mail que o cliente provou controlar, por DNS. |
| Provedores de sign-in | Provedores de identidade externos do realm oferecidos a este cliente, como o diretório Microsoft Entra da empresa. |
| Identidade visual | Logo, cor primária e cor de fundo, aplicados sobre a tela de login do client. O que ficar vazio mantém o do client. |
| Status | Uma 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. |
Configure uma organização
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.
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 simplesauthio-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.
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.
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.
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.comnã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.
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=globexCom 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
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:
{
"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:
- 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.
- Se a requisição não nomeou nenhuma, a organização em que a pessoa acabou de ser admitida por um domínio provado.
- Senão, a organização da pessoa quando ela pertence a exatamente uma organização ativa.
- Senão, nenhuma:
org_ideorg_aliasficam 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.