Udostępnij za pośrednictwem


Ustaw adresy URL przekierowania na b2clogin.com dla usługi Azure Active Directory B2C

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

Podczas konfigurowania dostawcy tożsamości na potrzeby rejestracji i logowania w aplikacjach usługi Azure Active Directory B2C (Azure AD B2C) należy określić punkty końcowe dostawcy tożsamości usługi Azure AD B2C. Nie należy już odwoływać się do login.microsoftonline.com w aplikacjach i interfejsach API na potrzeby uwierzytelniania użytkowników za pomocą usługi Azure AD B2C. Zamiast tego należy użyć b2clogin.com lub domeny niestandardowej dla wszystkich aplikacji.

Jakie punkty końcowe mają zastosowanie do tych zmian

Przejście do b2clogin.com dotyczy tylko punktów końcowych uwierzytelniania korzystających z zasad usługi Azure AD B2C (przepływów użytkowników lub zasad niestandardowych) do uwierzytelniania użytkowników. Te punkty końcowe mają parametr, który określa zasady, które powinny być używane przez usługę <policy-name> Azure AD B2C. Dowiedz się więcej o zasadach usługi Azure AD B2C.

Stare punkty końcowe mogą wyglądać następująco:

  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize lub https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> dla /authorize punktu końcowego.
  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout lub https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> dla /logout punktu końcowego.

Odpowiadający zaktualizowany punkt końcowy będzie wyglądać podobnie do następujących punktów końcowych:

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize lub https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> dla punktu końcowego /authorize .
  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout lub https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> dla punktu końcowego /logout .

W usłudze Azure AD B2C z domeną niestandardową, odpowiedni zaktualizowany punkt końcowy będzie wyglądać podobnie do następujących punktów końcowych. Możesz użyć jednego z następujących punktów końcowych:

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize lub https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> dla punktu końcowego /authorize .
  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout lub https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> dla punktu końcowego /logout .

Punkty końcowe, których nie dotyczy problem

Niektórzy klienci korzystają z udostępnionych możliwości dzierżaw firmy Microsoft Entra Enterprise. Na przykład uzyskanie tokenu dostępu w celu wywołania interfejsu API programu MS Graph dzierżawy usługi Azure AD B2C.

Ta zmiana nie ma wpływu na wszystkie punkty końcowe, które nie zawierają parametru zasad w adresie URL. Są one dostępne tylko przy użyciu punktów końcowych login.microsoftonline.com identyfikatora Microsoft Entra i nie można ich używać z b2clogin.com ani domenami niestandardowymi. W poniższym przykładzie przedstawiono prawidłowy punkt końcowy tokenu platformy tożsamości firmy Microsoft:

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

Jeśli jednak chcesz uzyskać token tylko do uwierzytelniania użytkowników, możesz określić zasady, których aplikacja chce użyć do uwierzytelniania użytkowników. W takim przypadku zaktualizowane /token punkty końcowe będą wyglądać podobnie do poniższych przykładów.

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token lub https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name> w przypadku używania b2clogin.com.

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token lub https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name> w przypadku korzystania z domeny niestandardowej.

Omówienie wymaganych zmian

Może być konieczne wprowadzenie kilku modyfikacji w celu przeprowadzenia migracji aplikacji z login.microsoftonline.com przy użyciu punktów końcowych usługi Azure AD B2C:

  • Zmień adres URL przekierowania w aplikacjach dostawcy tożsamości, aby wskazywał na b2clogin.com lub domenę niestandardową. Aby uzyskać więcej informacji, postępuj zgodnie ze wskazówkami dotyczącymi zmiany adresów URL przekierowania dostawcy tożsamości.
  • Zaktualizuj aplikacje usługi Azure AD B2C, aby używały b2clogin.com lub domeny niestandardowej w swoich odwołaniach do przepływu użytkownika i punktu końcowego tokenu. Zmiana może obejmować aktualizowanie korzystania z biblioteki uwierzytelniania, takiej jak Biblioteka uwierzytelniania firmy Microsoft (MSAL).
  • Zaktualizuj wszystkie dozwolone źródła zdefiniowane w ustawieniach mechanizmu CORS na potrzeby dostosowywania interfejsu użytkownika.

Zmień adresy URL przekierowania dostawcy tożsamości

Na stronie internetowej każdego dostawcy tożsamości, w której utworzono aplikację, zmień wszystkie zaufane adresy URL, aby przekierować do your-tenant-name.b2clogin.com lub do domeny niestandardowej zamiast login.microsoftonline.com.

Istnieją dwa formaty, które można wykorzystać dla adresów URL przekierowania b2clogin.com. Pierwsza z nich zapewnia korzyść polegającą na tym, że wyraz "Microsoft" nie pojawia się nigdzie w adresie URL, poprzez użycie identyfikatora dzierżawy (GUID) zamiast nazwy domeny dzierżawy. Uwaga: authresp punkt końcowy może nie zawierać nazwy polityki.

https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp

Druga opcja używa nazwy domeny dzierżawy w postaci your-tenant-name.onmicrosoft.com. Na przykład:

https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp

Dla obu formatów:

  • Zastąp {your-tenant-name} nazwą dzierżawy usługi Azure AD B2C.
  • Usuń /te , jeśli istnieje w adresie URL.

Aktualizowanie aplikacji i interfejsów API

Kod w aplikacjach i interfejsach API z obsługą usługi Azure AD B2C może się odwoływać do login.microsoftonline.com w kilku miejscach. Na przykład kod może zawierać odwołania do przepływów użytkownika i punktów końcowych tokenu. Zaktualizuj następujące elementy, aby zamiast tego odwołać się do elementu your-tenant-name.b2clogin.com:

  • Punkt końcowy autoryzacji
  • Punkt końcowy tokenu
  • Wystawca tokenu

Na przykład punkt końcowy autoryzacji dla polityki rejestracji/logowania Contoso będzie teraz:

https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1

Aby uzyskać informacje na temat migrowania aplikacji internetowych opartych na protokole OWIN do b2clogin.com, zobacz Migrowanie internetowego interfejsu API opartego na protokole OWIN do b2clogin.com.

Aby przeprowadzić migrację interfejsów API usługi Azure API Management chronionych przez usługę Azure AD B2C, zobacz sekcję Migrate to b2clogin.com (Migrowanie do b2clogin.com) w części Secure an Azure API Management API with Azure AD B2C (Zabezpieczanie interfejsu API usługi Azure API Management za pomocą usługi Azure AD B2C).

Biblioteka uwierzytelniania firmy Microsoft (MSAL)

MSAL.NET właściwość ValidateAuthority

Jeśli używasz MSAL.NET w wersji 2 lub starszej, ustaw właściwość ValidateAuthority na false podczas tworzenia wystąpienia klienta, aby zezwolić na przekierowania do b2clogin.com. Ustawienie tej wartości na false nie jest wymagane dla MSAL.NET w wersji 3 lub nowszej.

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

Właściwość validateAuthority w bibliotece MSAL dla JavaScript

Jeśli używasz biblioteki MSAL dla języka JavaScript w wersji 1.2.2 lub starszej, ustaw właściwość validateAuthority na 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**
  }
);

W przypadku ustawienia validateAuthority: true w wersji MSAL.js 1.3.0 lub nowszej (wartość domyślna) należy również określić prawidłowego wystawcę tokenu za pomocą polecenia 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
  }
);

Aby uzyskać informacje na temat migrowania aplikacji internetowych opartych na protokole OWIN do b2clogin.com, zobacz Migrowanie internetowego interfejsu API opartego na protokole OWIN do b2clogin.com.

Aby przeprowadzić migrację interfejsów API usługi Azure API Management chronionych przez usługę Azure AD B2C, zobacz sekcję Migrate to b2clogin.com (Migrowanie do b2clogin.com) w części Secure an Azure API Management API with Azure AD B2C (Zabezpieczanie interfejsu API usługi Azure API Management za pomocą usługi Azure AD B2C).