Festlegen von Umleitungs-URLs zu b2clogin.com für Azure Active Directory B2C
Wenn Sie einen Identitätsanbieter für die Registrierung und Anmeldung in Ihrer Azure Active Directory B2C-Anwendung (Azure AD B2C) einrichten, müssen Sie die Endpunkte des Azure AD B2C-Identitätsanbieters angeben. Für die Authentifizierung von Benutzern in Azure AD B2C sollte in Ihren Anwendungen und APIs nicht mehr auf login.microsoftonline.com verwiesen werden. Verwenden Sie stattdessen b2clogin.com oder eine benutzerdefinierte Domäne für alle Anwendungen.
Welche Endpunkte sind von den Änderungen betroffen?
Der Übergang zu „b2clogin.com“ gilt nur für Authentifizierungsendpunkte, die Azure AD B2C-Richtlinien (Benutzerflows oder benutzerdefinierte Richtlinien) verwenden, um Benutzer zu authentifizieren. Diese Endpunkte verfügen über einen <policy-name>
-Parameter, der die von Azure AD B2C zu verwendende Richtlinie angibt. Erfahren Sie mehr über Azure AD B2C-Richtlinien.
Alte Endpunkte können wie folgt aussehen:
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>
Ein entsprechender aktualisierter Endpunkt würde wie folgt aussehen:
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>
Mit der benutzerdefinierten Azure AD B2C-Domäne würde der entsprechende aktualisierte Endpunkt aussehen:
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>
Endpunkte, die nicht betroffen sind
Einige Kunden verwenden die gemeinsam genutzten Funktionen von Microsoft Entra-Unternehmensmandanten. Wenn Sie beispielsweise ein Zugriffstoken erwerben, um den MS-Graph-API des Azure AD B2C-Mandanten aufzurufen.
Diese Änderungen betreffen nicht alle Endpunkte, die keinen Richtlinienparameter in der URL enthalten. Diese sind nur über die login.microsoftonline.com-Endpunkte von Microsoft Entra ID erreichbar und können nicht mit b2clogin.com oder benutzerdefinierten Domänen verwendet werden. Das folgende Beispiel zeigt einen gültigen Tokenendpunkt der Microsoft-Identitätsplattform:
https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token
Übersicht über erforderliche Änderungen
Möglicherweise müssen Sie ihre Anwendungen mithilfe von Azure AD B2C-Endpunkten von login.microsoftonline.com migrieren:
- Ändern Sie die Umleitungs-URL in den Anwendungen Ihres Identitätsanbieters so, dass auf b2clogin.com oder eine benutzerdefinierte Domäne verwiesen wird. Weitere Informationen erhalten Sie in den Anleitungen zum Umleiten von URLs des Änderungsidentitätsanbieters.
- Aktualisieren Sie Ihre Azure AD B2C-Anwendungen so, dass b2clogin.com oder eine benutzerdefinierte Domäne in den Verweisen auf Benutzerflows und Tokenendpunkte verwendet wird. Die Änderung kann das Aktualisieren der Verwendung einer Authentifizierungsbibliothek wie Microsoft Authentication Library (MSAL) umfassen.
- Aktualisieren Sie alle zulässigen Ursprünge, die Sie in den CORS-Einstellungen zur Anpassung der Benutzeroberfläche definieren.
Ändern der Umleitungs-URL für Identitätsanbieter
Ändern Sie auf jeder Website des Identitätsanbieters, auf der Sie eine Anwendung erstellt haben, alle vertrauenswürdigen URLs so, dass eine Umleitung zu your-tenant-name.b2clogin.com
oder einer benutzerdefinierten Domäne und nicht zu login.microsoftonline.com erfolgt.
Es gibt zwei Formate, die für die Umleitungs-URLs zu „b2clogin.com“ verwendet werden können. Das erste bietet den Vorteil, dass an keiner Stelle der URL „Microsoft“ auftaucht, da die Mandanten-ID (eine GUID) anstelle des Domänennamens Ihres Mandanten verwendet wird. Beachten Sie, dass der authresp
-Endpunkt möglicherweise keinen Richtliniennamen enthält.
https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp
Bei der zweiten Option wird der Domänenname Ihres Mandanten im Format your-tenant-name.onmicrosoft.com
verwendet. Beispiel:
https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp
Für beide Formate:
- Ersetzen Sie
{your-tenant-name}
durch den Namen des Azure AD B2C-Mandanten. - Entfernen Sie
/te
, sofern in der URL vorhanden.
Aktualisieren Ihrer Anwendungen und APIs
Der Code in Ihren Azure AD B2C-fähigen Anwendungen und APIs kann an verschiedenen Stellen auf login.microsoftonline.com
verweisen. Ihr Code kann z. B. Verweise auf Benutzerflows und Tokenendpunkte enthalten. Aktualisieren Sie Folgendes, sodass auf your-tenant-name.b2clogin.com
verwiesen wird:
- Authorization endpoint (Autorisierungsendpunkt)
- Token endpoint (Tokenendpunkt)
- Tokenaussteller
Der Autorisierungsendpunkt für die Registrierungs-/Anmelderichtlinie von Contoso würde z. B. nun wie folgt lauten:
https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1
Informationen zur Migration von OWIN-basierten Webanwendungen zu b2clogin.com finden Sie unter Migrieren einer OWIN-basierten Web-API zu b2clogin.com.
Informationen zur Migration von Azure API Management-APIs, die durch Azure AD B2C geschützt sind, finden Sie unter Sichern einer Azure API Management-API mit Azure AD B2C im Abschnitt Migrieren zu b2clogin.com.
Microsoft Authentication Library (MSAL)
MSAL.NET: Eigenschaft „ValidateAuthority“
Wenn Sie MSAL.NET v2 oder früher verwenden, legen Sie die ValidateAuthority-Eigenschaft bei der Clientinstanziierung auf false
fest, um Umleitungen zu b2clogin.com zuzulassen. Für MSAL.NET v3 und höher ist es nicht erforderlich, diesen Wert auf false
festzulegen.
ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**
MSAL für JavaScript: Eigenschaft „validateAuthority“
Wenn Sie MSAL für JavaScript v1.2.2 oder eine frühere Version verwenden, legen Sie die Eigenschaft validateAuthority auf false
fest.
// 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**
}
);
Wenn Sie validateAuthority: true
in MSAL.js 1.3.0+ (Standardeinstellung) festlegen, müssen Sie außerdem mit knownAuthorities
einen gültigen Tokenaussteller angeben:
// 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
}
);
Nächste Schritte
Informationen zur Migration von OWIN-basierten Webanwendungen zu b2clogin.com finden Sie unter Migrieren einer OWIN-basierten Web-API zu b2clogin.com.
Informationen zur Migration von Azure API Management-APIs, die durch Azure AD B2C geschützt sind, finden Sie unter Sichern einer Azure API Management-API mit Azure AD B2C im Abschnitt Migrieren zu b2clogin.com.