Compartilhar via


Definir URLs de redirecionamento para b2clogin.com para o Azure Active Directory B2C

Importante

A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais em nossas perguntas frequentes.

Ao configurar um provedor de identidade para inscrição e entrada em seus aplicativos Azure AD B2C (Azure Active Directory B2C), é preciso especificar os pontos de extremidade do provedor de identidade do Azure AD B2C. Você não deve mais referenciar 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 quais pontos de extremidade 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 endpoints têm um parâmetro <policy-name>, que especifica a política que o Azure AD B2C deve usar. Saiba mais sobre as políticas do Azure AD B2C.

Pontos de extremidade antigos podem ser semelhantes a:

  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize ou https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> para o ponto de extremidade /authorize.
  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout ou https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> para o ponto de extremidade /logout.

Um ponto de extremidade atualizado correspondente seria semelhante aos seguintes pontos de extremidade:

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize ou https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> para o /authorize endpoint.
  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout ou https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> para o /logout endpoint.

Com o domínio personalizado do Azure AD B2C, o ponto de extremidade atualizado correspondente seria semelhante aos pontos de extremidade a seguir. Você pode usar qualquer um desses pontos de extremidade:

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize ou https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> para o /authorize endpoint.
  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout ou https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> para o /logout endpoint.

Pontos de extremidade que não são afetados

Alguns clientes usam funcionalidades compartilhadas dos locatários empresariais do Microsoft Entra. Por exemplo, adquirir um token de acesso para chamar a API do Microsoft Graph do locatário do Azure AD B2C.

Essa mudança não afeta todos os pontos de acesso, 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 o b2clogin.com nem domínios personalizados. O exemplo a seguir mostra um endpoint de token válido da plataforma de identidade da Microsoft.

https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token

No entanto, se você quiser apenas obter um token para autenticar usuários, poderá especificar a política que seu aplicativo deseja usar para autenticar usuários. Nesse caso, os pontos de extremidade /token atualizados seriam semelhantes aos exemplos a seguir.

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token ou https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name> quando você usa b2clogin.com.

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token ou https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name> quando você usa um domínio personalizado.

Visão geral das alterações necessárias

Você pode precisar fazer várias modificações para migrar seus aplicativos de login.microsoftonline.com usando endpoints do Azure AD B2C:

  • Altere a URL de redirecionamento nos aplicativos do provedor de identidade para fazer referência a b2clogin.com ou domínio personalizado. Para obter mais informações, siga as diretrizes para alterar URLs de redirecionamento do provedor de identidade.
  • Atualize seus aplicativos Azure AD B2C para usar b2clogin.com ou um domínio personalizado em suas referências de ponto de extremidade de token e fluxo de usuário. A alteração pode incluir a atualização do uso de uma biblioteca de autenticação, como a MSAL (Biblioteca de Autenticação da Microsoft).
  • Atualize as Origens Permitidas que você definir nas configurações do CORS para personalização da interface do usuário.

Alterar as URLs de redirecionamento do provedor de identidade

No site de cada provedor de identidade em que você criou um aplicativo, altere todas as URLs confiáveis para redirecionarem para your-tenant-name.b2clogin.com, ou para um domínio personalizado em vez de login.microsoftonline.com.

Há dois tipos de formatos que você pode usar para suas URLs de redirecionamento b2clogin.com. A primeira fornece o benefício de não fazer com que a "Microsoft" apareça em qualquer lugar na URL usando a ID do locatário (um GUID) no lugar do nome de domínio do locatário. Observe que é possível que o ponto de extremidade authresp não contenha 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 de seu locatário do Azure AD B2C.
  • Remova /te se ele existir na URL.

Atualizar seus aplicativos e APIs

O código em seus aplicativos Azure AD B2C e APIs habilitados para uso pode se referir a login.microsoftonline.com em vários locais. Por exemplo, seu código pode ter referências aos fluxos de usuário e pontos de extremidade de token. Atualize o seguinte para fazer referência a your-tenant-name.b2clogin.com em vez disso.

  • Ponto de extremidade de autorização
  • Ponto de extremidade de token
  • Emissor de token

Por exemplo, agora, o ponto de extremidade de autoridade da política de inscrição/entrada da Contoso 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 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 Como proteger uma API de Gerenciamento de API do Azure com Azure AD B2C.

MSAL (Biblioteca de Autenticação da Microsoft)

Propriedade MSAL.NET ValidateAuthority

Se você estiver usando MSAL.NET v2 ou anterior, defina a propriedade ValidateAuthority como false na instanciação do cliente para permitir redirecionamentos para b2clogin.com. A definição desse valor false não é necessária para MSAL.NET v3 e posterior.

ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**

MSAL para a propriedade validateAuthority do JavaScript

Se você estiver usando a 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
  }
);

Para obter informações sobre como migrar aplicativos Web baseados em OWIN para b2clogin.com, consulte Migrar uma API 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 Como proteger uma API de Gerenciamento de API do Azure com Azure AD B2C.