Habilitar domínios personalizados para o Azure Ative Directory B2C
Antes de começar, use o seletor Escolha um tipo de política para escolher o tipo de política que você está configurando. O Azure Ative Directory B2C oferece dois métodos para definir como os usuários interagem com seus aplicativos: por meio de fluxos de usuário predefinidos ou por meio de políticas personalizadas totalmente configuráveis. As etapas exigidas neste artigo são diferentes para cada método.
Este artigo descreve como habilitar domínios personalizados em suas URLs de redirecionamento para o Azure Ative Directory B2C (Azure AD B2C). Ao usar um domínio personalizado verificado, você tem benefícios como:
Ele fornece uma experiência de usuário mais perfeita. Da perspetiva do usuário, eles permanecem em seu domínio durante o processo de entrada em vez de redirecionarem para o nome de locatário de domínio <padrão do Azure AD B2C.b2clogin.com.>
Ao permanecer no mesmo domínio para seu aplicativo durante o login, você reduz o impacto do bloqueio de cookies de terceiros.
Você aumenta o número de objetos (contas de usuário e aplicativos) que pode criar em seu locatário do Azure AD B2C de 1,25 milhão padrão para 5,25 milhões.
Visão geral do domínio personalizado
Você pode habilitar domínios personalizados para o Azure AD B2C usando o Azure Front Door. O Azure Front Door é um ponto de entrada global que usa a rede de borda global da Microsoft para criar aplicativos Web rápidos, seguros e amplamente escaláveis. Você pode renderizar o conteúdo do Azure AD B2C atrás da Porta da Frente do Azure e, em seguida, configurar uma opção na Porta da Frente do Azure para entregar o conteúdo por meio de um domínio personalizado na URL do seu aplicativo.
Assista a este vídeo para saber mais sobre o domínio personalizado do Azure AD B2C.
O diagrama a seguir ilustra a integração do Azure Front Door:
- Em um aplicativo, um usuário seleciona o botão de entrada, que o leva à página de entrada do Azure AD B2C. Esta página especifica um nome de domínio personalizado.
- O navegador da Web resolve o nome de domínio personalizado para o endereço IP da Porta da Frente do Azure. Durante a resolução DNS, um registro de nome canônico (CNAME) com um nome de domínio personalizado aponta para o host front-end padrão da Front Door (por exemplo,
contoso-frontend.azurefd.net
). - O tráfego endereçado ao domínio personalizado (por exemplo,
login.contoso.com
) é roteado para o host front-end padrão especificado (contoso-frontend.azurefd.net
). - O Azure Front Door invoca o conteúdo do Azure AD B2C usando o domínio padrão do Azure AD B2C
<tenant-name>.b2clogin.com
. A solicitação para o ponto de extremidade do Azure AD B2C inclui o nome de domínio personalizado original. - O Azure AD B2C responde à solicitação exibindo o conteúdo relevante e o domínio personalizado original.
Importante
A conexão do navegador com o Azure Front Door sempre deve usar IPv4 em vez de IPv6.
Ao usar domínios personalizados, considere o seguinte:
- Você pode configurar vários domínios personalizados. Para obter o número máximo de domínios personalizados suportados, consulte Limites e restrições de serviço do Microsoft Entra para assinatura do Azure AD B2C e do Azure e limites, cotas e restrições de serviço para o Azure Front Door.
- O Azure Front Door é um serviço do Azure separado, portanto, serão cobrados encargos extras. Para obter mais informações, consulte Preços da porta da frente.
- Depois de configurar domínios personalizados, os usuários ainda poderão acessar o nome <>de domínio padrão do Azure AD B2C.b2clogin.com (a menos que você esteja usando uma política personalizada e bloqueie o acesso.
- Se você tiver vários aplicativos, migre-os todos para o domínio personalizado porque o navegador armazena a sessão do Azure AD B2C sob o nome de domínio que está sendo usado no momento.
Pré-requisitos
- Crie um fluxo de usuários para que os usuários possam se inscrever e entrar em seu aplicativo.
- Registe uma aplicação Web.
- Conclua as etapas em Introdução às políticas personalizadas no Ative Directory B2C
- Registe uma aplicação Web.
Etapa 1: Adicionar um nome de domínio personalizado ao locatário do Azure AD B2C
Cada novo locatário do Azure AD B2C vem com um nome de domínio inicial, <domainname.onmicrosoft.com>. Não é possível alterar ou excluir o nome de domínio inicial, mas é possível adicionar um domínio personalizado.
Siga estas etapas para adicionar um domínio personalizado ao seu locatário do Azure AD B2C:
Adicione o seu nome de domínio personalizado ao Microsoft Entra ID.
Importante
Para estas etapas, certifique-se de entrar em seu locatário do Azure AD B2C e selecione o serviço Microsoft Entra ID .
Adicione suas informações de DNS ao registrador de domínios. Depois de adicionar o seu nome de domínio personalizado ao Microsoft Entra ID, crie um DNS
TXT
ouMX
registo para o seu domínio. A criação deste registo DNS para o seu domínio verifica a propriedade do seu nome de domínio.Os exemplos a seguir demonstram registros TXT para login.contoso.com e account.contoso.com:
Nome (hostname) Tipo Dados início de sessão TXT MS=MS12345678 conta TXT MS=MS87654321 O registro TXT deve estar associado ao subdomínio ou nome de host do domínio. Por exemplo, a parte de login do domínio contoso.com . Se o nome do host estiver vazio ou
@
, o Microsoft Entra ID não poderá verificar o domínio personalizado que você adicionou. Nos exemplos a seguir, ambos os registros estão configurados incorretamente.Nome (hostname) Tipo Dados TXT MS=MS12345678 @ TXT MS=MS12345678 Gorjeta
Pode gerir o seu domínio personalizado com qualquer serviço DNS disponível publicamente, como o GoDaddy. Se você não tiver um servidor DNS, poderá usar a zona DNS do Azure ou domínios do Serviço de Aplicativo.
Verifique o seu nome de domínio personalizado. Verifique cada subdomínio ou nome de host que você planeja usar. Por exemplo, para poder entrar com login.contoso.com e account.contoso.com, você precisa verificar ambos os subdomínios e não apenas o domínio de nível superior contoso.com.
Importante
Depois que o domínio for verificado, exclua o registro TXT DNS que você criou.
Etapa 2: Criar uma nova instância do Azure Front Door
Siga estas etapas para criar uma porta frontal do Azure:
Inicie sessão no portal do Azure.
Para escolher o diretório que contém a assinatura do Azure que você gostaria de usar para o Azure Front Door, e não o diretório que contém seu locatário do Azure AD B2C, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas .
Siga as etapas em Criar perfil da Porta da Frente - Criação Rápida para criar uma Porta da Frente para seu locatário do Azure AD B2C usando as seguintes configurações:
Key valor Subscrição Selecione a subscrição do Azure. Grupo de recursos Selecione um grupo de recursos existente ou crie um novo. Nome Dê ao seu perfil um nome como b2cazurefrontdoor
.Escalão de serviço Selecione o nível Standard ou Premium. A camada padrão é a entrega de conteúdo otimizada. O nível Premium baseia-se no nível Standard e é focado na segurança. Consulte Comparação de camadas. Nome do ponto final Insira um nome globalmente exclusivo para seu ponto de extremidade, como b2cazurefrontdoor
. O nome do host do ponto de extremidade é gerado automaticamente.Tipo de origem Selecione Custom
.Nome do anfitrião de origem Introduzir <tenant-name>.b2clogin.com
. Substitua<tenant-name>
pelo nome do seu locatário do Azure AD B2C, comocontoso.b2clogin.com
.Deixe a política de Caching e WAF vazia.
Depois que o recurso Porta da Frente do Azure for criado, selecione Visão geral e copie o nome do host do Ponto de Extremidade. Parece algo como
b2cazurefrontdoor-ab123e.z01.azurefd.net
.Verifique se o nome do host e o cabeçalho do host de origem da sua origem têm o mesmo valor:
- Em Configurações, selecione Grupos de origem.
- Selecione seu grupo de origem na lista, como default-origin-group.
- No painel direito, selecione o nome do host Origin, como
contoso.b2clogin.com
. - No painel Atualizar origem, atualize o nome do host e o cabeçalho do host Origin para que tenham o mesmo valor.
Etapa 3: Configurar seu domínio personalizado no Azure Front Door
Nesta etapa, você adiciona o domínio personalizado registrado na Etapa 1 à sua Porta da Frente do Azure.
3.1. Criar um registo DNS CNAME
Para adicionar o domínio personalizado, crie um registro de nome canônico (CNAME) com seu provedor de domínio. Um registro CNAME é um tipo de registro DNS que mapeia um nome de domínio de origem para um nome de domínio de destino (alias). Para o Azure Front Door, o nome de domínio de origem é seu nome de domínio personalizado e o nome de domínio de destino é seu nome de host padrão do Front Door que você configurou na Etapa 2. Crie uma nova instância do Azure Front Door. Por exemplo, b2cazurefrontdoor-ab123e.z01.azurefd.net
.
Depois que o Front Door verifica o registro CNAME que você criou, o tráfego endereçado ao domínio personalizado de origem (como ) é roteado para o host frontend padrão de destino especificado, como login.contoso.com
contoso-frontend.azurefd.net
. Para obter mais informações, consulte Adicionar um domínio personalizado à sua porta da frente.
Para criar um registo CNAME para o domínio personalizado:
Inicie sessão no Web site do fornecedor do domínio do seu domínio personalizado.
Encontre a página de gestão dos registos DNS ao consultar a documentação do fornecedor ou ao procurar áreas do Web site com o nome Domain Name (Nome de domínio), DNS ou Name server management (Gestão de servidores de nomes).
Crie uma entrada de registo CNAME para o seu domínio personalizado e preencha os campos conforme mostrado na tabela seguinte (os nomes dos campos podem variar):
Source Tipo Destino <login.contoso.com>
CNAME contoso-frontend.azurefd.net
Fonte: Insira seu nome de domínio personalizado (por exemplo, login.contoso.com).
Type (Tipo): introduza CNAME.
Destino: Insira o host de frontend padrão da Front Door que você criou na etapa 2. Tem de estar no formato <nome do anfitrião>.azurefd.net. Por exemplo,
contoso-frontend.azurefd.net
.
Guardar as suas alterações.
3.2. Associar o domínio personalizado ao Front Door
Na página inicial do portal do Azure, procure e selecione o
myb2cazurefrontdoor
recurso Azure Front Door para abri-lo.No menu à esquerda, em Configurações, selecione Domínios.
Selecione Adicionar um domínio.
Para Gerenciamento de DNS, selecione Todos os outros serviços DNS.
Em Domínio personalizado, insira seu domínio personalizado, como
login.contoso.com
.Mantenha os outros valores como padrão e selecione Adicionar. Seu domínio personalizado é adicionado à lista.
Em Estado de validação do domínio que acabou de adicionar, selecione Pendente. Um painel com informações de registro TXT é aberto.
Inicie sessão no Web site do fornecedor do domínio do seu domínio personalizado.
Encontre a página de gestão dos registos DNS ao consultar a documentação do fornecedor ou ao procurar áreas do Web site com o nome Domain Name (Nome de domínio), DNS ou Name server management (Gestão de servidores de nomes).
Crie um novo registro TXT DNS e preencha os campos como mostrado abaixo:
- Nome:
_dnsauth.contoso.com
, mas você precisa digitar apenas_dnsauth
. - Tipo:
TXT
- Valor: Algo como
75abc123t48y2qrtsz2bvk......
.
Depois de adicionar o registo DNS TXT, o estado de Validação no recurso Front Door acabará por mudar de Pendente para Aprovado. Talvez seja necessário recarregar a página para que a alteração aconteça.
- Nome:
Volte ao seu portal do Azure. Em Associação de ponto de extremidade do domínio que você acabou de adicionar, selecione Não associado.
Para Select endpoint, selecione o ponto de extremidade do nome do host na lista suspensa.
Para a lista Selecionar rotas, selecione rota padrão e, em seguida, selecione Associar.
3.3. Ativar a rota
A rota padrão roteia o tráfego do cliente para a Porta da Frente do Azure. Em seguida, o Azure Front Door usa sua configuração para enviar o tráfego para o Azure AD B2C. Siga estas etapas para habilitar a rota padrão.
Selecione Front Door manager.
Para adicionar habilitar a rota padrão, primeiro expanda um ponto de extremidade a partir da lista de pontos de extremidade no gerenciador Front Door. Em seguida, selecione a rota padrão.
A captura de tela a seguir mostra como selecionar a rota padrão.
Marque a caixa de seleção Ativar rota .
Selecione Atualizar para salvar as alterações.
Etapa 4: Configurar o CORS
Se você personalizar a interface do usuário do Azure AD B2C com um modelo HTML, precisará Configurar o CORS com seu domínio personalizado.
Configure o armazenamento de Blob do Azure para Compartilhamento de Recursos entre Origens com as seguintes etapas:
- No portal do Azure, navegue para a sua conta de armazenamento.
- No menu, selecione CORS.
- Em Origens permitidas, insira
https://your-domain-name
. Substituayour-domain-name
pelo seu nome de domínio. Por exemplo,https://login.contoso.com
. Use todas as letras minúsculas ao inserir o nome do locatário. - Em Métodos permitidos, selecione ambos
GET
eOPTIONS
. - Em Cabeçalhos permitidos, insira um asterisco (*).
- Em Cabeçalhos expostos, insira um asterisco (*).
- Para Idade máxima, digite 200.
- Selecione Guardar.
Teste seu domínio personalizado
Inicie sessão no portal do Azure.
Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas .
No portal do Azure, procure e selecione Azure AD B2C.
Em Políticas, selecione Fluxos de usuário (políticas).
Selecione um fluxo de usuário e, em seguida, selecione Executar fluxo de usuário.
Em Aplicativo, selecione o aplicativo Web chamado webapp1 que você registrou anteriormente. O URL de resposta deve mostrar
https://jwt.ms
.Copie a URL em Executar ponto de extremidade de fluxo do usuário.
Para simular um início de sessão com o seu domínio personalizado, abra um browser e utilize o URL que copiou. Substitua o domínio do Azure AD B2C (<tenant-name.b2clogin.com>) pelo seu domínio personalizado.
Por exemplo, em vez de:
https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=63ba0d17-c4ba-47fd-89e9-31b3c2734339&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
utilize:
https://login.contoso.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=63ba0d17-c4ba-47fd-89e9-31b3c2734339&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
Verifique se o Azure AD B2C está carregado corretamente. Em seguida, inicie sessão com uma conta local.
Repita o teste com o resto das suas políticas.
Configurar seu provedor de identidade
Quando um usuário escolhe entrar com um provedor de identidade social, o Azure AD B2C inicia uma solicitação de autorização e leva o usuário ao provedor de identidade selecionado para concluir o processo de entrada. A solicitação de autorização especifica o com o redirect_uri
nome de domínio padrão do Azure AD B2C:
https://<tenant-name>.b2clogin.com/<tenant-name>/oauth2/authresp
Se você configurou sua política para permitir entrar com um provedor de identidade externo, atualize os URIs de redirecionamento OAuth com o domínio personalizado. A maioria dos provedores de identidade permite que você registre vários URIs de redirecionamento. Recomendamos adicionar URIs de redirecionamento em vez de substituí-los para que você possa testar sua política personalizada sem afetar os aplicativos que usam o nome de domínio padrão do Azure AD B2C.
No seguinte URI de redirecionamento:
https://<custom-domain-name>/<tenant-name>/oauth2/authresp
- Substitua <custom-domain-name> pelo seu nome de domínio personalizado.
- Substitua <tenant-name> pelo nome do locatário ou pelo ID do locatário.
O exemplo a seguir mostra um URI de redirecionamento OAuth válido:
https://login.contoso.com/contoso.onmicrosoft.com/oauth2/authresp
Se você optar por usar a ID do locatário, um URI de redirecionamento OAuth válido se parecerá com o exemplo a seguir:
https://login.contoso.com/11111111-1111-1111-1111-111111111111/oauth2/authresp
Os metadados dos provedores de identidade SAML seriam parecidos com o exemplo a seguir:
https://<custom-domain-name>.b2clogin.com/<tenant-name>/<your-policy>/samlp/metadata?idptp=<your-technical-profile>
Configurar a aplicação
Depois de configurar e testar o domínio personalizado, você pode atualizar seus aplicativos para carregar a URL que especifica seu domínio personalizado como o nome do host em vez do domínio do Azure AD B2C.
A integração de domínio personalizado aplica-se a pontos de extremidade de autenticação que usam políticas do Azure AD B2C (fluxos de usuário ou políticas personalizadas) para autenticar usuários. Esses pontos de extremidade podem se parecer com o seguinte exemplo:
https://<custom-domain>/<tenant-name>/<policy-name>/v2.0/.well-known/openid-configuration
https://<custom-domain>/<tenant-name>/<policy-name>/oauth2/v2.0/authorize
https://<custom-domain>/<tenant-name>/<policy-name>/oauth2/v2.0/token
Substituir:
- domínio personalizado com o seu domínio personalizado
- tenant-name com seu nome de locatário ou ID de locatário
- nome da política com o nome da política. Saiba mais sobre as políticas do Azure AD B2C.
Os metadados do provedor de serviços SAML podem se parecer com o seguinte exemplo:
https://custom-domain-name/tenant-name/policy-name/Samlp/metadata
(Opcional) Usar ID de locatário
Você pode substituir o nome do locatário B2C na URL pelo GUID da ID do locatário para remover todas as referências a "b2c" na URL. Você pode encontrar seu GUID de ID de locatário na página Visão geral B2C no portal do Azure.
Por exemplo, altere https://account.contosobank.co.uk/contosobank.onmicrosoft.com/
para https://account.contosobank.co.uk/<tenant ID GUID>/
Se você optar por usar ID de locatário em vez de nome de locatário, certifique-se de atualizar os URIs de redirecionamento OAuth do provedor de identidade de acordo. Para obter mais informações, consulte Configurar seu provedor de identidade.
Emissão de tokens
A declaração de nome do emissor do token (iss) é alterada com base no domínio personalizado que está sendo usado. Por exemplo:
https://<domain-name>/11111111-1111-1111-1111-111111111111/v2.0/
(Opcional) Bloquear o acesso ao nome de domínio padrão
Depois de adicionar o domínio personalizado e configurar seu aplicativo, os usuários ainda poderão acessar o <domínio tenant-name.b2clogin.com>. Para impedir o acesso, você pode configurar a política para verificar a solicitação de autorização "nome do host" em relação a uma lista permitida de domínios. O nome do host é o nome de domínio que aparece na URL. O nome do host está disponível por meio de resolvedores de {Context:HostName}
declarações. Em seguida, você pode apresentar uma mensagem de erro personalizada.
- Obtenha o exemplo de uma política de acesso condicional que verifica o nome do host do GitHub.
- Em cada arquivo, substitua a cadeia de caracteres
yourtenant
pelo nome do locatário do Azure AD B2C. Por exemplo, se o nome do seu locatário B2C for contosob2c, todas as instâncias deyourtenant.onmicrosoft.com
tornar-se-ãocontosob2c.onmicrosoft.com
. - Carregue os arquivos de política na seguinte ordem: e, em seguida,
B2C_1A_TrustFrameworkExtensions_HostName.xml
B2C_1A_signup_signin_HostName.xml
.
(Opcional) Configuração avançada do Azure Front Door
Você pode usar a configuração avançada do Azure Front Door, como o Azure Web Application Firewall (WAF). O Azure WAF fornece proteção centralizada de seus aplicativos Web contra exploits e vulnerabilidades comuns.
Ao usar domínios personalizados, considere os seguintes pontos:
- A política WAF deve ser a mesma camada que o perfil do Azure Front Door. Para obter mais informações sobre como criar uma política WAF para usar com o Azure Front Door, consulte Configurar a política WAF.
- O recurso de regras gerenciadas do WAF não é oficialmente suportado, pois pode causar falsos positivos e impedir a passagem de solicitações legítimas, portanto, use apenas regras personalizadas do WAF se elas atenderem às suas necessidades.
Resolução de problemas
O Azure AD B2C retorna um erro de página não encontrada
- Sintoma - Você configura um domínio personalizado, mas quando tenta entrar com o domínio personalizado, recebe uma mensagem de erro HTTP 404.
- Causas possíveis - Esse problema pode estar relacionado à configuração de DNS ou à configuração de back-end do Azure Front Door.
- Resolução:
- Verifique se o domínio personalizado está registrado e verificado com êxito em seu locatário do Azure AD B2C.
- Verifique se o domínio personalizado está configurado corretamente. O
CNAME
registro para seu domínio personalizado deve apontar para seu host frontend padrão do Azure Front Door (por exemplo, contoso-frontend.azurefd.net).
Nossos serviços não estão disponíveis no momento
Sintoma - Você configura um domínio personalizado, mas quando tenta entrar com o domínio personalizado, você recebe a seguinte mensagem de erro: Nossos serviços não estão disponíveis no momento. Estamos trabalhando para restaurar todos os serviços o mais rápido possível. Por favor, volte em breve.
Causas possíveis - Esse problema pode estar relacionado à configuração de rota do Azure Front Door.
Resolução: verifique o status da rota padrão. Se estiver desativado, habilite a rota. A captura de tela a seguir mostra como a rota padrão deve parecer:
O Azure AD B2C retorna que o recurso que você está procurando foi removido, teve seu nome alterado ou está temporariamente indisponível.
- Sintoma - Você configura um domínio personalizado, mas quando tenta entrar com o domínio personalizado, obtém que o recurso que está procurando foi removido, teve seu nome alterado ou está temporariamente indisponível .
- Causas possíveis - Esse problema pode estar relacionado à verificação de domínio personalizado do Microsoft Entra.
- Resolução: verifique se o domínio personalizado está registrado e verificado com êxito em seu locatário do Azure AD B2C.
Identificar provedor retorna um erro
- Sintoma - Depois de configurar um domínio personalizado, você pode entrar com contas locais. Mas quando você entra com credenciais de provedores externos de identidade social ou empresarial, o provedor de identidade apresenta uma mensagem de erro.
- Causas possíveis - Quando o Azure AD B2C leva o usuário a entrar com um provedor de identidade federada, ele especifica o URI de redirecionamento. O URI de redirecionamento é o ponto de extremidade para o qual o provedor de identidade retorna o token. O URI de redirecionamento é o mesmo domínio que seu aplicativo usa com a solicitação de autorização. Se o URI de redirecionamento ainda não estiver registrado no provedor de identidade, ele pode não confiar no novo URI de redirecionamento, o que resulta em uma mensagem de erro.
- Resolução - Siga as etapas em Configurar seu provedor de identidade para adicionar o novo URI de redirecionamento.
Perguntas mais frequentes
Quando uso Executar agora para tentar executar minha política, por que não consigo ver o domínio personalizado?
Copie o URL, altere o nome de domínio manualmente e cole-o novamente no navegador.
Qual endereço IP é apresentado ao Azure AD B2C? O endereço IP do usuário ou o endereço IP da Porta da Frente do Azure?
O Azure Front Door passa o endereço IP original do usuário. É o endereço IP que você verá no relatório de auditoria ou na sua política personalizada.
Importante
Se o cliente enviar um x-forwarded-for
cabeçalho para a Porta da Frente do Azure, o Azure AD B2C usará o do originador x-forwarded-for
como o endereço IP do usuário para Avaliação de Acesso Condicional e o {Context:IPAddress}
resolvedor de declarações.
Posso usar um Web Application Firewall (WAF) de terceiros com B2C?
Sim, o Azure AD B2C suporta BYO-WAF (Bring Your Own Web Application Firewall). No entanto, você deve testar o WAF para garantir que ele não bloqueie ou alerte solicitações legítimas para fluxos de usuário ou políticas personalizadas do Azure AD B2C. Saiba como configurar o Akamai WAF e o Cloudflare WAF com o Azure AD B2C.
Minha instância do Azure Front Door pode ser hospedada em uma assinatura diferente do meu locatário do Azure AD B2C?
Sim, o Azure Front Door pode estar em uma assinatura diferente.
Próximos passos
Saiba mais sobre as solicitações de autorização do OAuth.