Definir URLs de redirecionamento para b2clogin.com para o Azure Ative Directory B2C
Ao configurar um provedor de identidade para inscrição e entrada em seus aplicativos do Azure Ative Directory B2C (Azure AD B2C), você precisa especificar os pontos de extremidade do provedor de identidade do Azure AD B2C. Você não deve mais fazer referência a login.microsoftonline.com em seus aplicativos e APIs para autenticar usuários com o Azure AD B2C. Em vez disso, use b2clogin.com ou um domínio personalizado para todos os aplicativos.
A que endpoints essas alterações se aplicam
A transição para b2clogin.com só se aplica 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 têm um <policy-name>
parâmetro, que especifica a política que o Azure AD B2C deve usar. Saiba mais sobre as políticas do Azure AD B2C.
Os pontos finais antigos podem ter a seguinte aparência:
https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>
Um ponto de extremidade atualizado correspondente teria a seguinte aparência:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>
Com o domínio personalizado do Azure AD B2C, o ponto de extremidade atualizado correspondente teria a seguinte aparência:
https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>
Pontos finais que não são afetados
Alguns clientes usam os recursos compartilhados dos locatários corporativos do Microsoft Entra. Por exemplo, adquirir um token de acesso para chamar a API do MS Graph do locatário do Azure AD B2C.
Essa alteração não afeta todos os pontos de extremidade, que não contêm um parâmetro de política na URL. Eles são acessados apenas com os pontos de extremidade login.microsoftonline.com do Microsoft Entra ID e não podem ser usados com os b2clogin.com ou domínios personalizados. O exemplo a seguir mostra um ponto de extremidade de token válido da plataforma de identidade da Microsoft:
https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token
Visão geral das alterações necessárias
Há várias modificações que você pode precisar fazer para migrar seus aplicativos do login.microsoftonline.com usando pontos de extremidade do Azure AD B2C:
- Altere a URL de redirecionamento nos aplicativos do seu provedor de identidade para fazer referência a b2clogin.com ou domínio personalizado. Para obter mais informações, siga as diretrizes de URL de redirecionamento do provedor de identidade de alteração.
- Atualize seus aplicativos do Azure AD B2C para usar b2clogin.com ou domínio personalizado em suas referências de fluxo de usuário e ponto de extremidade de token. A alteração pode incluir a atualização do uso de uma biblioteca de autenticação como a Microsoft Authentication Library (MSAL).
- Atualize todas as Origens Permitidas definidas nas configurações do CORS para personalização da interface do usuário.
Alterar URLs de redirecionamento do provedor de identidade
No site de cada provedor de identidade no qual você criou um aplicativo, altere todas as URLs confiáveis para redirecionar para your-tenant-name.b2clogin.com
, ou um domínio personalizado em vez de login.microsoftonline.com.
Há dois formatos que você pode usar para seus URLs de redirecionamento b2clogin.com. O primeiro oferece o benefício de não ter "Microsoft" aparecendo em qualquer lugar na URL usando o ID do locatário (um GUID) no lugar do seu nome de domínio do locatário. Observe que o authresp
ponto de extremidade pode não conter um nome de política.
https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp
A segunda opção usa o nome de domínio do locatário na forma de your-tenant-name.onmicrosoft.com
. Por exemplo:
https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp
Para ambos os formatos:
- Substitua
{your-tenant-name}
pelo nome do seu locatário do Azure AD B2C. - Remova
/te
se ele existir no URL.
Atualize seus aplicativos e APIs
O código em seus aplicativos e APIs habilitados para Azure AD B2C pode se referir em login.microsoftonline.com
vários lugares. Por exemplo, seu código pode ter referências a fluxos de usuário e pontos de extremidade de token. Atualize o seguinte para, em vez disso, fazer referência your-tenant-name.b2clogin.com
:
- Ponto final de autorização
- Ponto de extremidade de token
- Emissor de token
Por exemplo, o ponto de extremidade de autoridade para a política de inscrição/entrada da Contoso agora seria:
https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1
Para obter informações sobre como migrar aplicativos Web baseados em OWIN para b2clogin.com, consulte Migrar uma API da Web baseada em OWIN para b2clogin.com.
Para migrar APIs de Gerenciamento de API do Azure protegidas pelo Azure AD B2C, consulte a seção Migrar para b2clogin.com de Proteger uma API de Gerenciamento de API do Azure com o Azure AD B2C.
Biblioteca de Autenticação da Microsoft (MSAL)
MSAL.NET propriedade ValidateAuthority
Se você estiver usando o MSAL.NET v2 ou anterior, defina a propriedade ValidateAuthority como false
na instanciação do cliente para permitir redirecionamentos para b2clogin.com. Definir esse valor como false
não é necessário para MSAL.NET v3 e posterior.
ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**
Propriedade MSAL for JavaScript validateAuthority
Se você estiver usando o MSAL para JavaScript v1.2.2 ou anterior, defina a propriedade validateAuthority como false
.
// MSAL.js v1.2.2 and earlier
this.clientApplication = new UserAgentApplication(
env.auth.clientId,
env.auth.loginAuthority,
this.authCallback.bind(this),
{
validateAuthority: false // Required in MSAL.js v1.2.2 and earlier **ONLY**
}
);
Se você definir validateAuthority: true
em MSAL.js 1.3.0+ (o padrão), também deverá especificar um emissor de token válido com knownAuthorities
:
// MSAL.js v1.3.0+
this.clientApplication = new UserAgentApplication(
env.auth.clientId,
env.auth.loginAuthority,
this.authCallback.bind(this),
{
validateAuthority: true, // Supported in MSAL.js v1.3.0+
knownAuthorities: ['tenant-name.b2clogin.com'] // Required if validateAuthority: true
}
);
Próximos passos
Para obter informações sobre como migrar aplicativos Web baseados em OWIN para b2clogin.com, consulte Migrar uma API da Web baseada em OWIN para b2clogin.com.
Para migrar APIs de Gerenciamento de API do Azure protegidas pelo Azure AD B2C, consulte a seção Migrar para b2clogin.com de Proteger uma API de Gerenciamento de API do Azure com o Azure AD B2C.