Freigeben über


Einrichten der Registrierung und Anmeldung mit einer Apple-ID mit Azure Active Directory B2C

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Bevor Sie beginnen, verwenden Sie die Auswahl eines Richtlinientyps oben auf dieser Seite, um den Typ der Richtlinie auszuwählen, die Sie einrichten. 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

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.

Voraussetzungen

Erstellen einer Apple-ID-Anwendung

Um die Anmeldung für Benutzer mit einer Apple-ID in Azure Active Directory B2C (Azure AD B2C) zu aktivieren, müssen Sie eine Anwendung https://developer.apple.comin erstellen. Weitere Informationen finden Sie unter Anmelden mit Apple. Wenn Sie noch nicht über ein Apple-Entwicklerkonto verfügen, können Sie sich beim Apple Developer Program registrieren.

  1. Melden Sie sich mit Ihren Kontoanmeldeinformationen beim Apple Developer Portal an.
  2. Wählen Sie im Menü "Zertifikate", "IDs" und "Profile" und dann (+) aus.
  3. Um einen neuen Bezeichner zu registrieren, wählen Sie App-IDs aus, und wählen Sie dann "Weiter" aus.
  4. Wählen Sie für "Typ auswählen" die Option "App" und dann "Weiter" aus.
  5. Für die Registrierung einer App-ID:
    1. Geben Sie eine Beschreibung ein.
    2. Geben Sie die Bundle-ID ein, z. B. com.contoso.azure-ad-b2c.
    3. Wählen Sie unter "Funktionen" in der Liste "Funktionen" die Option "Mit Apple anmelden " aus.
    4. Notieren Sie sich Ihre Team-ID (App-ID-Präfix) aus diesem Schritt. Sie benötigen die Information später.
    5. Wählen Sie "Weiter" und dann " Registrieren" aus.
  6. Wählen Sie im Menü "Zertifikate", "IDs" und "Profile" und dann (+) aus.
  7. Wenn Sie einen neuen Bezeichner registrieren möchten, wählen Sie "Dienst-IDs" und dann " Weiter" aus.
  8. Für die Registrierung einer Dienst-ID:
    1. Geben Sie eine Beschreibung ein. Die Beschreibung wird dem Benutzer auf dem Zustimmungsbildschirm angezeigt.
    2. Geben Sie die ID (z. B. com.consoto.azure-ad-b2c-service) ein. Notieren Sie sich Ihren Dienst-ID-Bezeichner . Der Bezeichner ist Ihre Client-ID für den OpenID Connect-Fluss.
    3. Wählen Sie "Weiter" und dann " Registrieren" aus.
  9. Wählen Sie in Bezeichnern den von Ihnen erstellten Bezeichner aus.
  10. Wählen Sie "Mit Apple anmelden" und dann " Konfigurieren" aus.
    1. Wählen Sie die primäre App-ID aus, mit der Sie die Anmeldung mit Apple konfigurieren möchten.
    2. Geben Sie in Domänen und Unterdomänen die Zeichenfolge your-tenant-name.b2clogin.comein. Ersetzen Sie "your-tenant-name" durch den Namen Ihres Mandanten. Wenn Sie eine benutzerdefinierte Domäne verwenden, geben Sie die Zeichenfolge https://your-domain-nameein.
    3. In Rückgabe-URLs geben Sie https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp ein. Wenn Sie eine benutzerdefinierte Domäne verwenden, geben Sie die Zeichenfolge https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authrespein. Ersetzen Sie sie your-tenant-name durch den Namen Ihres Mandanten und your-domain-name durch Ihre benutzerdefinierte Domäne. Die Rückgabe-URL darf nur Kleinbuchstaben enthalten.
    4. Wählen Sie "Weiter" und dann " Fertig" aus.
    5. Wenn das Popupfenster geschlossen ist, wählen Sie "Weiter" und dann " Speichern" aus.

Erstellen eines apple-geheimen Clientschlüssels

  1. Wählen Sie im Apple-Entwicklerportalmenü Die Tasten und dann (+) aus.
  2. Für die Registrierung eines neuen Schlüssels:
    1. Geben Sie einen Schlüsselnamen ein.
    2. Wählen Sie "Mit Apple anmelden" und dann " Konfigurieren" aus.
    3. Wählen Sie für die primäre App-ID die App aus, die Sie zuvor erstellt haben, und wählen Sie " Speichern" aus.
    4. Wählen Sie "Konfigurieren" und dann " Registrieren" aus, um den Schlüsselregistrierungsprozess abzuschließen. Notieren Sie sich die Schlüssel-ID. Dieser Schlüssel ist erforderlich, wenn Sie Benutzerflüsse konfigurieren.
  3. Wählen Sie zum Herunterladen Ihres Schlüssels"Herunterladen " die Option "Herunterladen" aus, um eine P8-Datei herunterzuladen, die Ihren Schlüssel enthält.

Konfigurieren von Apple als Identitätsanbieter

  1. Melden Sie sich beim Azure-Portal mit einem Konto an, das mindestens über Administratorrechte des externen Identitätsanbieters verfügt.
  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
  3. Wählen Sie unter Azure-DiensteAzure AD B2C aus. Oder verwenden Sie das Suchfeld, um Azure AD B2C zu suchen und auszuwählen.
  4. Wählen Sie "Identitätsanbieter" und dann "Apple" aus.
  5. Geben Sie für den NamenMit Apple anmelden ein.
  6. Geben Sie die Apple-Entwickler-ID (Team-ID) ein.
  7. Geben Sie die Apple-Dienst-ID (Client-ID) ein.
  8. Geben Sie die Apple-Schlüssel-ID aus Schritt Zum Erstellen eines apple-geheimen Clientschlüssels ein.
  9. Wählen Sie die Apple-Zertifikatdaten aus, und laden Sie sie hoch.
  10. Wählen Sie Speichern aus.

Von Bedeutung

  • Für die Anmeldung mit Apple muss der Administrator seinen geheimen Clientschlüssel alle 6 Monate verlängern.
  • Der geheime Apple-Clientschlüssel wird automatisch verlängert, wenn er abläuft. Wenn Sie den geheimen Schlüssel manuell verlängern müssen, öffnen Sie Azure AD B2C im Azure-Portal, wechseln Sie zu "Identitätsanbieter>Apple", und wählen Sie "Geheim verlängern" aus.
  • Befolgen Sie die Richtlinien, wie Sie die Schaltfläche "Anmelden mit Apple" anbieten.

Hinzufügen des Apple-Identitätsanbieters zu einem Benutzerablauf

Damit sich Benutzer mit einer Apple-ID anmelden können, müssen Sie den Apple-Identitätsanbieter einem Benutzerablauf hinzufügen. Die Anmeldung mit Apple kann nur für die empfohlene Version von Benutzerflüssen konfiguriert werden. So fügen Sie den Apple-Identitätsanbieter zu einem Benutzerablauf hinzu:

  1. Wählen Sie in Ihrem Azure AD B2C-Mandanten Benutzerflüsse aus.
  2. Wählen Sie einen Benutzerablauf aus, für den Sie den Apple-Identitätsanbieter hinzufügen möchten.
  3. Wählen Sie unter "Identitätsanbieter für soziale Netzwerke" "Apple" aus.
  4. Wählen Sie Speichern aus.
  5. Um Ihre Richtlinie zu testen, wählen Sie "Benutzerablauf ausführen" aus.
  6. Wählen Sie für "Anwendung" die Webanwendung mit dem Namen "testapp1" aus, die Sie zuvor registriert haben. Als Antwort-URL sollte https://jwt.ms angezeigt werden.
  7. Wählen Sie die Schaltfläche " Benutzerfluss ausführen " aus.
  8. Wählen Sie auf der Anmelde- oder Anmeldeseite Apple aus, um sich mit der Apple-ID anzumelden.

Wenn der Anmeldevorgang erfolgreich ist, wird Ihr Browser zu https://jwt.ms umgeleitet, wo der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt wird.

Signieren des Client-Geheimnisses

Verwenden Sie die P8-Datei, die Sie zuvor heruntergeladen haben, um den geheimen Clientschlüssel bei einem JWT zu signieren. Das JWT-Token kann in vielen verfügbaren Bibliotheken erstellt und signiert werden. Verwenden Sie die Azure-Funktion, die ein Token für Sie erstellt.

  1. Erstellen Sie eine Azure-Funktion.

  2. Wählen Sie unter "Entwicklertools" "Code+ Testen" aus.

  3. Kopieren Sie den Inhalt der Datei "run.csx ", und fügen Sie sie in den Editor ein.

  4. Wählen Sie Speichern aus.

  5. Stellen Sie eine HTTP-Anforderung POST vor, und geben Sie die folgenden Informationen an:

    • appleTeamId: Ihre Apple Developer Team-ID
    • appleServiceId: Die Apple Service-ID (Client-ID)
    • appleKeyId: Die 10-stellige Schlüssel-ID, die im JWT-Header gespeichert ist (erforderlich von Apple)
    • p8key: Der PEM-Formatschlüssel. Sie können dies erhalten, indem Sie die P8-Datei in einem Text-Editor öffnen und alles zwischen -----BEGIN PRIVATE KEY----- und -----END PRIVATE KEY----- ohne Zeilenumbrüche kopieren.

Der folgende JSON-Code ist ein Beispiel für einen Aufruf der Azure-Funktion:

{
    "appleTeamId": "ABC123DEFG",
    "appleServiceId": "com.yourcompany.app1",
    "appleKeyId": "URKEYID001",
    "p8key": "MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg+s07NiAcuGEu8rxsJBG7ttupF6FRe3bXdHxEipuyK82gCgYIKoZIzj0DAQehRANCAAQnR1W/KbbaihTQayXH3tuAXA8Aei7u7Ij5OdRy6clOgBeRBPy1miObKYVx3ki1msjjG2uGqRbrc1LvjLHINWRD"
}

Die Azure-Funktion antwortet mit einem ordnungsgemäß formatierten und signierten geheimen Clientschlüssel JWT in einer Antwort, z. B.:

{
    "token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjb20ueW91cmNvbXBhbnkuYXBwMSIsIm5iZiI6MTU2MDI2OTY3NSwiZXhwIjoxNTYwMzU2MDc1LCJpc3MiOiJBQkMxMjNERUZHIiwiYXVkIjoiaHR0cHM6Ly9hcHBsZWlkLmFwcGxlLmNvbSJ9.Dt9qA9NmJ_mk6tOqbsuTmfBrQLFqc9BnSVKR6A-bf9TcTft2XmhWaVODr7Q9w1PP3QOYShFXAnNql5OdNebB4g"
}

Erstellen eines Richtlinienschlüssels

Sie müssen den geheimen Clientschlüssel speichern, den Sie zuvor in Ihrem Azure AD B2C-Mandanten aufgezeichnet haben.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
  3. Wählen Sie unter Azure-DiensteAzure AD B2C aus. Oder verwenden Sie das Suchfeld, um Azure AD B2C zu suchen und auszuwählen.
  4. Wählen Sie auf der Seite "Übersicht " die Option "Identity Experience Framework" aus.
  5. Wählen Sie "Richtlinienschlüssel" und dann "Hinzufügen" aus.
  6. Wählen Sie unter "Optionen" die Option "Manuell" aus.
  7. Geben Sie einen Namen für den Richtlinienschlüssel ein. Beispiel: "AppleSecret". Das Präfix "B2C_1A_" wird automatisch dem Namen Ihres Schlüssels hinzugefügt.
  8. Geben Sie im geheimen Schlüssel den Wert eines Tokens ein, das von der Azure-Funktion (ein JWT) zurückgegeben wird.
  9. Wählen Sie für die Schlüsselverwendung"Signatur" aus.
  10. Wählen Sie "Erstellen" aus.

Von Bedeutung

  • Für die Anmeldung mit Apple muss der Administrator seinen geheimen Clientschlüssel alle 6 Monate verlängern.
  • Sie müssen das Apple-Client-Geheimnis manuell erneuern, wenn es abläuft, und den neuen Wert im Richtlinienschlüssel speichern.
  • Es wird empfohlen, Ihre eigene Erinnerung innerhalb von 6 Monaten festzulegen, um ein neues Client-Secret zu generieren.
  • Befolgen Sie die Richtlinien, wie Sie die Schaltfläche "Anmelden mit Apple" anbieten.

Konfigurieren von Apple als Identitätsanbieter

Damit sich Benutzer mit einer Apple-ID anmelden können, müssen Sie das Konto als Anspruchsanbieter definieren, mit dem Azure AD B2C über einen Endpunkt kommunizieren kann. Der Endpunkt stellt eine Reihe von Ansprüchen bereit, die von Azure AD B2C verwendet werden, um zu überprüfen, ob ein bestimmter Benutzer authentifiziert ist.

Sie können eine Apple-ID als Anspruchsanbieter definieren, indem Sie sie dem ClaimsProviders-Element in der Erweiterungsdatei Ihrer Richtlinie hinzufügen.

  1. Öffnen Sie die Datei TrustFrameworkExtensions.xml.

  2. Suchen Sie das ClaimsProviders-Element . Wenn sie nicht vorhanden ist, fügen Sie es unter dem Stammelement hinzu.

  3. Fügen Sie einen neuen ClaimsProvider wie folgt hinzu:

    <ClaimsProvider>
      <Domain>apple.com</Domain>
      <DisplayName>Apple</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Apple-OIDC">
          <DisplayName>Sign in with Apple</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="ProviderName">apple</Item>
            <Item Key="authorization_endpoint">https://appleid.apple.com/auth/authorize</Item>
            <Item Key="AccessTokenEndpoint">https://appleid.apple.com/auth/token</Item>
            <Item Key="JWKS">https://appleid.apple.com/auth/keys</Item>
            <Item Key="issuer">https://appleid.apple.com</Item>
            <Item Key="scope">name email openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="response_types">code</Item>
            <Item Key="external_user_identity_claim_id">sub</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="ReadBodyClaimsOnIdpRedirect">user.name.firstName user.name.lastName user.email</Item>
            <Item Key="client_id">You Apple ID</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_AppleSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="https://appleid.apple.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="user.name.firstName"/>
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="user.name.lastName"/>
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Legen Sie client_id auf den Dienstbezeichner fest. Beispiel: com.consoto.azure-ad-b2c-service.

  5. Speichern Sie die Datei.

Hinzufügen einer Benutzerreise

Der Identitätsanbieter wurde nun eingerichtet, aber er ist noch auf keiner der Anmeldeseiten verfügbar. Wenn Sie nicht über eine eigene benutzerdefinierte Benutzerreise verfügen, erstellen Sie ein Duplikat einer vorhandenen Benutzerreise für Vorlagen, andernfalls fahren Sie mit dem nächsten Schritt fort.

  1. Öffnen Sie die TrustFrameworkBase.xml Datei aus dem Startpaket.
  2. Suchen und kopieren Sie den gesamten Inhalt des UserJourney-Elements, das Id="SignUpOrSignIn" enthält.
  3. Öffnen Sie die TrustFrameworkExtensions.xml und suchen Sie das UserJourneys-Element. Wenn das Element nicht vorhanden ist, fügen Sie eins hinzu.
  4. Fügen Sie den gesamten Inhalt des UserJourney-Elements ein, das Sie als untergeordnetes Element des UserJourneys-Elements kopiert haben .
  5. Benennen Sie die ID der User Journey um. Beispiel: Id="CustomSignUpSignIn".

Fügen Sie den Identitätsanbieter zu einem Benutzerablauf hinzu

Nachdem Sie nun über eine Benutzerreise verfügen, fügen Sie den neuen Identitätsanbieter zur Benutzerreise hinzu. Sie fügen zuerst eine Anmeldeschaltfläche hinzu und verknüpfen dann die Schaltfläche mit einer Aktion. Die Aktion ist das technische Profil, das Sie zuvor erstellt haben.

  1. Suchen Sie nach dem Orchestrierungsschrittelement, das Type="CombinedSignInAndSignUp" enthält, oder Type="ClaimsProviderSelection" in der User Journey. Es ist in der Regel der erste Orchestrierungsschritt. Das ClaimsProviderSelections-Element enthält eine Liste von Identitätsanbietern, mit denen sich ein Benutzer anmelden kann. Die Reihenfolge der Elemente steuert die Reihenfolge der Anmeldeschaltflächen, die dem Benutzer angezeigt werden. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu. Setzen Sie den Wert von TargetClaimsExchangeId auf einen freundlichen Namen.

  2. Fügen Sie im nächsten Orchestrierungsschritt ein ClaimsExchange-Element hinzu. Legen Sie die ID auf den Wert der Zielansprücheaustausch-ID fest. Aktualisieren Sie den Wert von TechnicalProfileReferenceId auf die ID des zuvor erstellten technischen Profils.

Der folgende XML-Code veranschaulicht die ersten beiden Orchestrierungsschritte einer Benutzerreise mit dem Identitätsanbieter:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="AppleExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AppleExchange" TechnicalProfileReferenceId="Apple-OIDC" />
  </ClaimsExchanges>
</OrchestrationStep>

Konfigurieren einer Richtlinie für die vertrauende Seite

Die Richtlinie der vertrauenden Seite, z. B. SignUpSignIn.xml, gibt die Benutzerreise an, die Azure AD B2C ausführt. Suchen Sie das DefaultUserJourney-Element in Vertrauende Seite. Aktualisieren Sie die ReferenceId so, dass sie mit der Benutzerreise-ID übereinstimmt, in der Sie den Identitätsanbieter hinzugefügt haben.

Im folgenden Beispiel wird die CustomSignUpSignIn für die User Journey auf CustomSignUpSignIn festgelegt:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Hochladen der benutzerdefinierten Richtlinie

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Portalsymbolleiste das Symbol "Verzeichnis + Abonnement " und dann das Verzeichnis aus, das Ihren Azure AD B2C-Mandanten enthält.
  3. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
  4. Wählen Sie unter "Richtlinien" die Option "Identity Experience Framework" aus.
  5. Wählen Sie Benutzerdefinierte Richtlinie hochladen aus, und laden Sie dann die beiden geänderten Richtliniendateien in der folgenden Reihenfolge hoch: zuerst die Erweiterungsrichtlinie, zum Beispiel TrustFrameworkExtensions.xml, und dann die Richtlinie der vertrauenden Seite, zum Beispiel SignUpSignIn.xml.

Testen der benutzerdefinierten Richtlinie

  1. Wählen Sie die Richtliniendatei für die vertrauende Seite aus, z. B. B2C_1A_signup_signin.
  2. Wählen Sie für "Anwendung" eine Webanwendung aus, die Sie zuvor registriert haben. Als Antwort-URL sollte https://jwt.ms angezeigt werden.
  3. Wählen Sie die Schaltfläche " Jetzt ausführen " aus.
  4. Wählen Sie auf der Anmelde- oder Anmeldeseite Apple aus, um sich mit der Apple-ID anzumelden.

Wenn der Anmeldevorgang erfolgreich ist, wird Ihr Browser zu https://jwt.ms umgeleitet, wo der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt wird.

Anpassen der Benutzeroberfläche

Befolgen Sie die Richtlinien zum Anbieten der Anmeldung mit Apple. Apple bietet mehrere Schaltflächen für die Anmeldung mit Apple , mit deren Hilfe Benutzer ein Konto einrichten und sich anmelden können. Erstellen Sie bei Bedarf eine benutzerdefinierte Schaltfläche, um sich mit Apple anzumelden. Erfahren Sie, wie Sie eine Anmelde-Schaltfläche mit Apple anzeigen.

Um sich an die Richtlinien der Apple-Benutzeroberfläche anzupassen: