Einrichten der Registrierung und Anmeldung mit einem Weibo-Konto mithilfe von Azure Active Directory B2C
Bevor Sie beginnen, verwenden Sie den Auswahlpunkt Richtlinientyp wählen, um die Art der Richtlinie auszuwählen, die Sie einrichten möchten. Azure Active Directory B2C bietet zwei Methoden zum Definieren der Benutzerinteraktion mit Ihren Anwendungen: vordefinierte Benutzerflows oder vollständig konfigurierbare benutzerdefinierte Richtlinien. Die Schritte, die in diesem Artikel erforderlich sind, unterscheiden sich für jede Methode.
Hinweis
Dieses Feature befindet sich in der Phase der öffentlichen Vorschau.
Voraussetzungen
- Erstellen Sie einen Benutzerflow, damit sich Benutzer bei Ihrer Anwendung registrieren und anmelden können.
- Registrieren Sie eine Webanwendung.
- Führen Sie die unter Erste Schritte mit benutzerdefinierten Richtlinien in Active Directory B2C beschriebenen Schritte aus.
- Registrieren Sie eine Webanwendung.
Erstellen einer Weibo-Anwendung
Wenn Sie die Anmeldung für Benutzer mit einem Weibo-Konto in Azure Active Directory B2C (Azure AD B2C) aktivieren möchten, müssen Sie eine Anwendung im Weibo-Entwicklerportal erstellen. Wenn Sie noch über kein Weibo-Konto verfügen, können Sie sich unter https://weibo.com registrieren.
- Melden Sie sich beim Weibo-Entwicklerportal mit den Anmeldeinformationen für Ihr Weibo-Konto an.
- Wählen Sie nach der Anmeldung oben rechts Ihren Anzeigenamen aus.
- Wählen Sie in der Dropdownliste die Option 编辑开发者信息 (Entwicklerinformationen bearbeiten) aus.
- Geben Sie die erforderlichen Informationen ein, und wählen Sie 提交 (Senden) aus.
- Schließen Sie den E-Mail-Überprüfungsprozess ab.
- Rufen Sie die Seite Identitätsüberprüfung auf.
- Geben Sie die erforderlichen Informationen ein, und wählen Sie 提交 (Senden) aus.
Registrieren einer Weibo-Anwendung
- Navigieren Sie zur Seite für die Registrierung einer neuen Weibo-App.
- Geben Sie die erforderlichen App-Informationen ein.
- Wählen Sie 创建 (Erstellen) aus.
- Kopieren Sie die Werte von App-Schlüssel und App-Geheimnis. Sie benötigen beide Angaben, um den Identitätsanbieter Ihrem Mandanten hinzuzufügen.
- Laden Sie die erforderlichen Fotos hoch und geben Sie die benötigten Informationen ein.
- Wählen Sie 保存以上信息 (Speichern) aus.
- Wählen Sie 高级信息 (Weitere Informationen) aus.
- Wählen Sie neben dem Feld 授权设置 (Umleitungs-URL) für OAuth2.0 die Option 编辑 (Bearbeiten) aus.
- Geben Sie
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
als OAuth2.0-Weiterleitungs-URL unter 授权设置 an. Bei Verwendung einer benutzerdefinierten Domäne geben Siehttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
ein. Ersetzen Sieyour-tenant-name
durch den Namen Ihres Mandanten undyour-domain-name
durch Ihre benutzerdefinierte Domäne. - Wählen Sie 提交 (Senden) aus.
Konfigurieren von Weibo als Identitätsanbieter
- Melden Sie sich beim Azure-Portal als globaler Administrator Ihres Azure AD B2C-Mandanten an.
- Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C Mandanten zu wechseln.
- Klicken Sie links oben im Azure-Portal auf Alle Dienste, suchen Sie nach Azure AD B2C, und klicken Sie darauf.
- Wählen Sie Identitätsanbieter und dann Weibo (Vorschau) aus.
- Geben Sie einen Namen ein. Beispiel: Weibo.
- Geben Sie für die Client-ID den App-Schlüssel der Weibo-Anwendung ein, die Sie zuvor erstellt haben.
- Geben Sie das zuvor notierte App-Geheimnis als Geheimer Clientschlüssel ein.
- Wählen Sie Speichern aus.
Hinzufügen von Weibo als Identitätsanbieter zu einem Benutzerflow
- Wählen Sie in Ihrem Azure AD B2C-Mandanten die Option Benutzerflows aus.
- Klicken Sie auf den Benutzerflow, dem Sie Weibo als Identitätsanbieter hinzufügen möchten.
- Wählen Sie unter Soziales Netzwerk als Identitätsanbieter die Option Weibo aus.
- Wählen Sie Speichern aus.
- Um die Richtlinie zu testen, wählen Sie Benutzerflow ausführen aus.
- Wählen Sie für Anwendung die Webanwendung testapp1 aus, die Sie zuvor registriert haben. Als Antwort-URL sollte
https://jwt.ms
angezeigt werden. - Wählen Sie die Schaltfläche Benutzerflow ausführen aus.
- Wählen Sie auf der Registrierungs- oder Anmeldeseite die Option Weibo aus, um sich mit einem Weibo-Konto anzumelden.
Wenn der Anmeldevorgang erfolgreich verlaufen ist, wird der Browser an https://jwt.ms
umgeleitet und dadurch der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt.
Erstellen eines Richtlinienschlüssels
Sie müssen den geheimen Clientschlüssel speichern, den Sie zuvor in Ihrem Azure AD B2C-Mandanten notiert haben.
- Melden Sie sich beim Azure-Portal an.
- Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C Mandanten zu wechseln.
- Wählen Sie links oben im Azure-Portal die Option Alle Dienste aus, suchen Sie nach Azure AD B2C, und wählen Sie dann diese Option aus.
- Wählen Sie auf der Seite „Übersicht“ die Option Framework für die Identitätsfunktion aus.
- Klicken Sie erst auf Richtlinienschlüssel und anschließend auf Hinzufügen.
- Klicken Sie unter Optionen auf
Manual
. - Geben Sie einen Namen für den Richtlinienschlüssel ein. Beispiel:
WeiboSecret
. Dem Namen Ihres Schlüssels wird automatisch das PräfixB2C_1A_
hinzugefügt. - Geben Sie im Feld Geheimnis den geheimen Clientschlüssel ein, den Sie zuvor notiert haben.
- Wählen Sie für Schlüsselverwendung die Option
Signature
aus. - Klicken Sie auf Erstellen.
Konfigurieren von Weibo als Identitätsanbieter
Damit sich Benutzer mit einem Weibo-Konto anmelden können, müssen Sie das Konto als Anspruchsanbieter definieren, mit dem Azure AD B2C über einen Endpunkt kommunizieren kann. Der Endpunkt bietet eine Reihe von Ansprüchen, mit denen Azure AD B2C überprüft, ob ein bestimmter Benutzer authentifiziert wurde.
Sie können ein Weibo-Konto als Anspruchsanbieter definieren, indem Sie es in der Erweiterungsdatei Ihrer Richtlinie dem ClaimsProviders-Element hinzufügen.
Öffnen Sie die Datei TrustFrameworkExtensions.xml.
Suchen Sie nach dem Element ClaimsProviders. Falls das Element nicht vorhanden sein sollte, fügen Sie es unter dem Stammelement hinzu.
Fügen Sie ein neues ClaimsProvider-Element wie folgt hinzu:
<ClaimsProvider> <Domain>weibo.com</Domain> <DisplayName>Weibo (Preview)</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Weibo-OAuth2"> <DisplayName>Weibo</DisplayName> <Protocol Name="OAuth2" /> <Metadata> <Item Key="ProviderName">weibo</Item> <Item Key="authorization_endpoint">https://api.weibo.com/oauth2/authorize</Item> <Item Key="AccessTokenEndpoint">https://api.weibo.com/oauth2/access_token</Item> <Item Key="ClaimsEndpoint">https://api.weibo.com/2/account/get_uid.json</Item> <Item Key="scope">email</Item> <Item Key="HttpBinding">POST</Item> <Item Key="external_user_identity_claim_id">uid</Item> <Item Key="client_id">Your Weibo application ID</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_WeiboSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="numericUserId" PartnerClaimType="uid" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="weibo.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="displayName" DefaultValue="Weibo User" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="UserId" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateIssuerUserId" /> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider> <ClaimsProvider>
Legen Sie client_id auf die Anwendungs-ID aus der Anwendungsregistrierung fest.
Speichern Sie die Datei .
Hinzufügen von Ansprüchen von Transformationen
Das technische Profil für GitHub setzt voraus, dass die CreateIssuerUserId-Anspruchstransformationen der Liste im „ClaimsTransformations“-Element hinzugefügt werden. Wenn in Ihrer Datei kein ClaimsTransformations-Element definiert ist, fügen Sie die übergeordneten XML-Elemente wie unten gezeigt hinzu. Für die Anspruchstransformationen muss auch ein neuer Anspruchstyp namens numericUserId definiert werden.
- Suchen Sie nach dem Element BuildingBlocks. Wenn das Element nicht vorhanden ist, fügen Sie es hinzu.
- Suchen Sie nach dem Element ClaimsSchema. Wenn das Element nicht vorhanden ist, fügen Sie es hinzu.
- Fügen Sie den Anspruch „numericUserId“ dem ClaimsSchema-Element hinzu.
- Suchen Sie nach dem ClaimsTransformations-Element. Wenn das Element nicht vorhanden ist, fügen Sie es hinzu.
- Fügen Sie die „CreateIssuerUserId“-Anspruchstransformationen dem ClaimsTransformations-Element hinzu.
<BuildingBlocks>
<ClaimsSchema>
<ClaimType Id="numericUserId">
<DisplayName>Numeric user Identifier</DisplayName>
<DataType>long</DataType>
</ClaimType>
</ClaimsSchema>
<ClaimsTransformations>
<ClaimsTransformation Id="CreateIssuerUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
</BuildingBlocks>
Hinzufügen einer User Journey
Der Identitätsanbieter wurde nun eingerichtet, aber er ist noch auf keiner der Anmeldeseiten verfügbar. Wenn Sie nicht über eine eigene benutzerdefinierte User Journey verfügen, erstellen Sie ein Duplikat einer vorhandenen User Journey-Vorlage, und fahren Sie andernfalls mit dem nächsten Schritt fort.
- Öffnen Sie die Datei TrustFrameworkBase.xml aus dem Starter Pack.
- Suchen und kopieren Sie den gesamten Inhalt des UserJourney-Elements, das
Id="SignUpOrSignIn"
enthält. - Öffnen Sie die Datei TrustFrameworkExtensions.xml, und suchen Sie nach dem UserJourneys-Element. Wenn das Element nicht vorhanden ist, fügen Sie ein solches hinzu.
- Fügen Sie den gesamten Inhalt des kopierten UserJourney-Element als untergeordnetes Element des UserJourneys-Elements ein.
- Benennen Sie die ID der User Journey um. Beispiel:
Id="CustomSignUpSignIn"
.
Hinzufügen des Identitätsanbieters zu einer User Journey
Nachdem Sie nun über eine User Journey verfügen, fügen Sie den neuen Identitätsanbieter der User Journey hinzu. Fügen Sie zunächst eine Anmeldeschaltfläche hinzu, und verknüpfen Sie dann die Schaltfläche mit einer Aktion. Die Aktion ist das technische Profil, das Sie zuvor erstellt haben.
Suchen Sie nach dem Orchestrierungsschrittelement, das
Type="CombinedSignInAndSignUp"
enthält, oderType="ClaimsProviderSelection"
in der User Journey. Dies ist in der Regel der erste Orchestrierungsschritt. Das ClaimsProviderSelections-Element enthält eine Liste mit Identitätsanbietern, mit denen sich ein Benutzer anmelden kann. Die Reihenfolge der Elemente gibt die Reihenfolge der Anmeldeschaltflächen vor, die dem Benutzer angezeigt werden. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu. Legen Sie für TargetClaimsExchangeId einen Anzeigenamen fest.Fügen Sie im nächsten Orchestrierungsschritt ein ClaimsExchange-Element hinzu. Legen Sie die ID auf den Wert der Zielanspruchs-Austausch-ID fest. Ändern Sie den Wert von TechnicalProfileReferenceId in die ID des technischen Profils, das Sie zuvor erstellt haben.
Der folgende XML-Code veranschaulicht die ersten beiden Orchestrierungsschritte einer User Journey mit dem Identitätsanbieter:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="WeiboExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="WeiboExchange" TechnicalProfileReferenceId="Weibo-OAuth2" />
</ClaimsExchanges>
</OrchestrationStep>
Konfigurieren einer Richtlinie für die vertrauende Seite
Die Richtlinie für die vertrauende Seite (z. B. SignUpSignIn.xml) gibt die User Journey an, die Azure AD B2C ausführt. Suchen Sie das DefaultUserJourney-Element in Vertrauende Seite. Aktualisieren Sie ReferenceId auf die ID der User Journey, in der Sie den Identitätsanbieter hinzugefügt haben.
Im folgenden Beispiel wird die ReferenceId für die User Journey CustomSignUpSignIn
auf CustomSignUpSignIn
festgelegt:
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Hochladen der benutzerdefinierten Richtlinie
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie auf der Symbolleiste des Portals das Symbol Verzeichnis und Abonnement aus, und wählen Sie dann das Verzeichnis aus, das Ihren Azure AD B2C-Mandanten enthält.
- Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
- Wählen Sie unter Richtlinien die Option Identity Experience Framework aus.
- Wählen Sie Benutzerdefinierte Richtlinie hochladen aus, und laden Sie dann die beiden geänderten Richtliniendateien in der folgenden Reihenfolge hoch: zuerst die Erweiterungsrichtlinie (z. B.
TrustFrameworkExtensions.xml
) und dann die Richtlinie für die vertrauende Seite (z. B.SignUpSignIn.xml
).
Testen der benutzerdefinierten Richtlinie
- Wählen Sie die Richtliniendatei für die vertrauende Seite aus, z. B.
B2C_1A_signup_signin
. - Wählen Sie für Anwendung eine Webanwendung aus, die Sie zuvor registriert haben. Als Antwort-URL sollte
https://jwt.ms
angezeigt werden. - Wählen Sie die Schaltfläche Jetzt ausführen aus.
- Wählen Sie auf der Registrierungs- oder Anmeldeseite die Option Weibo aus, um sich mit einem Weibo-Konto anzumelden.
Wenn der Anmeldevorgang erfolgreich verlaufen ist, wird der Browser an https://jwt.ms
umgeleitet und dadurch der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt.