Delen via


Registreren en aanmelden met een Apple ID instellen met behulp van Azure Active Directory B2C

Belangrijk

Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.

Voordat u begint, gebruikt u de selector Een beleidstype kiezen boven aan deze pagina om het type beleid te kiezen dat u instelt. U kunt in Azure Active Directory B2C op twee manieren definiëren hoe gebruikers met uw toepassingen communiceren: via vooraf gedefinieerde gebruikersstromen of via volledig configureerbaar aangepast beleid. De stappen die in dit artikel zijn vereist, verschillen voor elke methode.

Opmerking

In Azure Active Directory B2C is aangepast beleid voornamelijk bedoeld om met complexe scenario's om te gaan. Voor de meeste scenario's wordt aangeraden ingebouwde gebruikersstromen te gebruiken. Als u dit nog niet hebt gedaan, vindt u meer informatie over aangepast beleid in het starterspakket in Aan de slag met aangepaste beleidsregels in Active Directory B2C.

Vereiste voorwaarden

Een Apple ID-toepassing maken

Als u aanmelding wilt inschakelen voor gebruikers met een Apple ID in Azure Active Directory B2C (Azure AD B2C), moet u een toepassing maken in https://developer.apple.com. Zie Aanmelden met Apple voor meer informatie. Als u nog geen Apple-ontwikkelaarsaccount hebt, kunt u zich aanmelden bij het Apple Developer Program.

  1. Meld u aan bij de Apple Developer-portal met uw accountreferenties.
  2. Selecteer Certificaten, ID's en Profielen in het menu en selecteer daarna (+).
  3. Als u een nieuwe id wilt registreren, selecteert u app-id's en selecteert u Doorgaan.
  4. Als u een type selecteert, selecteert u App en selecteert u Vervolgens Doorgaan.
  5. Voor het registreren van een app-id:
    1. Voer een beschrijving in
    2. Voer de bundel-id in, zoals com.contoso.azure-ad-b2c.
    3. Voor Mogelijkheden selecteert u Aanmelden met Apple in de lijst met mogelijkheden.
    4. Noteer uw Team-ID (App-ID-voorvoegsel) in deze stap. U hebt het later nodig.
    5. Selecteer Doorgaanen registreer vervolgens.
  6. Selecteer Certificaten, ID's en Profielen in het menu en selecteer daarna (+).
  7. Als u een nieuwe id wilt registreren, selecteert u Services-id's en selecteert u Doorgaan.
  8. Voor het registreren van een services-id:
    1. Voer een beschrijving in. De beschrijving wordt weergegeven aan de gebruiker op het toestemmingsscherm.
    2. Voer de id in, zoals com.consoto.azure-ad-b2c-service. Noteer uw service-id . De identificator is uw Client ID voor de OpenID Connect-flow.
    3. Selecteer Doorgaan en selecteer Vervolgens Registreren.
  9. Selecteer de identificator die u hebt gemaakt in Identificators.
  10. Selecteer Aanmelden met Apple en selecteer vervolgens Configureren.
    1. Selecteer de primaire app-id waarmee u aanmelden wilt configureren met Apple.
    2. Voer in Domeinen en Subdomeinenyour-tenant-name.b2clogin.com in. Vervang uw tenantnaam door de naam van uw tenant. Als u een aangepast domein gebruikt, voert u het volgende in https://your-domain-name.
    3. Voer in retour-URL's de tekst https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authrespin. Als u een aangepast domein gebruikt, voert u het volgende in https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Vervang your-tenant-name door de naam van uw tenant en your-domain-name door uw aangepaste domein. De retour-URL moet in kleine letters staan.
    4. Selecteer Volgende en selecteer Gereed.
    5. Wanneer het pop-upvenster is gesloten, selecteert u Doorgaan en selecteert u Opslaan.

Een Apple-clientgeheim maken

  1. Selecteer in het menu van de Apple Developer-portal Sleutels en klik daarna op (+).
  2. Voor het registreren van een nieuwe sleutel:
    1. Typ een sleutelnaam.
    2. Selecteer Aanmelden met Apple en selecteer vervolgens Configureren.
    3. Selecteer voor de primaire app-id de app die u eerder hebt gemaakt en selecteer Opslaan.
    4. Selecteer Configureren en selecteer Vervolgens Registreren om het sleutelregistratieproces te voltooien. Noteer de Key ID. Deze sleutel is vereist wanneer u gebruikersstromen configureert.
  3. Voor Uw sleutel downloaden selecteert u Downloaden om een .p8-bestand te downloaden dat uw sleutel bevat.

Apple configureren als identiteitsprovider

  1. Meld u aan bij Azure Portal met een account met ten minste beheerdersbevoegdheden voor externe id-providers .
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het hoofdmenu om over te schakelen naar uw Azure AD B2C-tenant vanuit het menu Mappen + abonnementen.
  3. Selecteer azure AD B2C onder Azure-services. Of gebruik het zoekvak om Azure AD B2C te zoeken en te selecteren.
  4. Selecteer Id-providers en selecteer Apple.
  5. Voer voor de naamInloggen met Apple in.
  6. Voer de Apple-ontwikkelaars-id (team-id) in.
  7. Voer de Apple-service-ID (client-ID) in.
  8. Voer de Apple-sleutel-id in uit de stap Een Apple-clientgeheim maken.
  9. Selecteer en upload de Apple-certificaatgegevens.
  10. Selecteer Opslaan.

Belangrijk

  • Als u zich aanmeldt met Apple, moet de beheerder het clientgeheim elke 6 maanden vernieuwen.
  • Het Apple-clientgeheim wordt automatisch vernieuwd wanneer het verloopt. Als u het geheim handmatig moet vernieuwen, opent u Azure AD B2C in Azure Portal, gaat u naar Id-providers>Apple en selecteert u Geheim verlengen.
  • Volg de richtlijnen voor het aanbieden van de knop Aanmelden met Apple.

De Apple-id-provider toevoegen aan een gebruikersstroom

Als u wilt dat gebruikers zich kunnen aanmelden met een Apple ID, moet u de Apple-id-provider toevoegen aan een gebruikersstroom. Aanmelden met Apple kan alleen worden geconfigureerd voor de aanbevolen versie van gebruikersstromen. De Apple-id-provider toevoegen aan een gebruikersstroom:

  1. Selecteer gebruikersstromen in uw Azure AD B2C-tenant.
  2. Selecteer een gebruikersstroom waarvoor u de Apple-id-provider wilt toevoegen.
  3. Selecteer Apple onder Id-providers voor sociale netwerken.
  4. Selecteer Opslaan.
  5. Selecteer Gebruikersstroom uitvoeren om uw beleid te testen.
  6. Selecteer voor Toepassing de webtoepassing met de naam testapp1 die u eerder hebt geregistreerd. De antwoord-URL moet https://jwt.ms weergeven.
  7. Klik op de knop Voer gebruikersstroom uit.
  8. Selecteer Op de registratie- of aanmeldingspagina Apple om u aan te melden met Apple ID.

Als het aanmeldingsproces is geslaagd, wordt uw browser omgeleid naar https://jwt.ms, waarin de inhoud van het token wordt weergegeven dat wordt geretourneerd door Azure AD B2C.

Het clientgeheim ondertekenen

Gebruik het .p8-bestand dat u eerder hebt gedownload om het clientgeheim te ondertekenen bij een JWT. Er zijn veel bibliotheken die de JWT voor u kunnen maken en ondertekenen. Gebruik de Azure-functie waarmee u een token maakt .

  1. Maak een Azure-functie.

  2. Selecteer onder Ontwikkelaarde optie Code + Test.

  3. Kopieer de inhoud van het bestand run.csx en plak deze in de editor.

  4. Selecteer Opslaan.

  5. Maak een HTTP-aanvraag POST en geef de volgende informatie op:

    • appleTeamId: uw Apple Developer Team ID
    • appleServiceId: de Apple-service-id (client-id)
    • appleKeyId: de sleutel-id van 10 cijfers die is opgeslagen in de JWT-header (vereist door Apple)
    • p8key: De PEM-formaatsleutel. U kunt dit verkrijgen door het .p8-bestand te openen in een teksteditor en alles te kopiëren tussen -----BEGIN PRIVATE KEY----- en -----END PRIVATE KEY----- zonder regeleinden.

De volgende json is een voorbeeld van een aanroep naar de Azure-functie:

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

De Azure-functie reageert met een correct opgemaakte en ondertekende JWT van het clientgeheim in een antwoord, bijvoorbeeld:

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

Een beleidssleutel maken

U moet het clientgeheim opslaan dat u eerder hebt vastgelegd in uw Azure AD B2C-tenant.

  1. Meld u aan bij het Azure-portaal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het hoofdmenu om over te schakelen naar uw Azure AD B2C-tenant vanuit het menu Mappen + abonnementen.
  3. Selecteer azure AD B2C onder Azure-services. Of gebruik het zoekvak om Azure AD B2C te zoeken en te selecteren.
  4. Selecteer Identity Experience Framework op de pagina Overzicht.
  5. Selecteer Beleidssleutels en selecteer vervolgens Toevoegen.
  6. Kies Handmatig voor Opties.
  7. Voer een naam in voor de beleidssleutel. Bijvoorbeeld 'AppleSecret'. Het voorvoegsel 'B2C_1A_' wordt automatisch toegevoegd aan de naam van uw sleutel.
  8. Voer in Geheim de waarde in van een token dat wordt geretourneerd door de Azure-functie (een JWT).
  9. Selecteer Handtekening voor sleutelgebruik.
  10. Klik op Creëren.

Belangrijk

  • Als u zich aanmeldt met Apple, moet de beheerder het clientgeheim elke 6 maanden vernieuwen.
  • U moet het Apple-clientgeheim handmatig vernieuwen als het verloopt en de nieuwe waarde opslaat in de beleidssleutel.
  • U wordt aangeraden uw eigen herinnering binnen 6 maanden in te stellen om een nieuw clientgeheim te genereren.
  • Volg de richtlijnen voor het aanbieden van de knop Aanmelden met Apple.

Apple configureren als identiteitsprovider

Als u wilt dat gebruikers zich kunnen aanmelden met een Apple ID, moet u het account definiëren als een claimprovider waarmee Azure AD B2C kan communiceren via een eindpunt. Het eindpunt biedt een set claims die worden gebruikt door Azure AD B2C om te controleren of een specifieke gebruiker is geverifieerd.

U kunt een Apple ID definiëren als claimprovider door deze toe te voegen aan het element ClaimsProviders in het extensiebestand van uw beleid.

  1. Open de TrustFrameworkExtensions.xml.

  2. Zoek het element ClaimsProviders . Als deze niet bestaat, voegt u deze toe onder het hoofdelement.

  3. Voeg als volgt een nieuwe ClaimsProvider toe:

    <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. Stel client_id in op de service-id. Bijvoorbeeld: com.consoto.azure-ad-b2c-service.

  5. Sla het bestand op.

Een gebruikerstraject toevoegen

Op dit moment is de id-provider ingesteld, maar deze is nog niet beschikbaar op een van de aanmeldingspagina's. Als u geen eigen aangepast gebruikerstraject hebt, maakt u een duplicaat van een bestaand sjabloongebruikerstraject. Ga anders verder met de volgende stap.

  1. Open het bestandTrustFrameworkBase.xml vanuit het starterspakket.
  2. Zoek en kopieer de volledige inhoud van het UserJourney-element waarin Id="SignUpOrSignIn" voorkomt.
  3. Open de TrustFrameworkExtensions.xml en zoek het element UserJourneys . Als het element niet bestaat, voegt u er een toe.
  4. Plak de volledige inhoud van het UserJourney-element dat u hebt gekopieerd als een kind van het element UserJourneys .
  5. Wijzig de naam van de ID van de gebruikersreis. Bijvoorbeeld: Id="CustomSignUpSignIn".

De id-provider toevoegen aan een gebruikerstraject

Nu u een gebruikerstraject hebt, voegt u de nieuwe id-provider toe aan het gebruikerstraject. U voegt eerst een aanmeldingsknop toe en koppelt vervolgens de knop aan een actie. Het technische profiel dat u eerder hebt gedefinieerd is de actie.

  1. Zoek het orkestratiestap-element dat Type="CombinedSignInAndSignUp" of Type="ClaimsProviderSelection" bevat in de gebruiksreis. Dit is meestal de eerste orkestratiestap. Het element ClaimsProviderSelections bevat een lijst met id-providers waarmee een gebruiker zich kan aanmelden. De volgorde van de elementen bepaalt de volgorde van de aan de gebruiker gepresenteerde aanmeldingsknoppen. Voeg een XML-element ClaimsProviderSelection toe. Stel de waarde van TargetClaimsExchangeId in op een vriendelijke naam.

  2. Voeg in de volgende orkestratiestap een ClaimsExchange-element toe. Stel de id in op de waarde van de exchange-id van de doelclaims. Werk de waarde van TechnicalProfileReferenceId bij naar de id van het technische profiel dat u eerder hebt gemaakt.

In de volgende XML ziet u de eerste twee indelingsstappen van een gebruikerstraject met de id-provider:

<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>

Het vertrouwende partij-beleid configureren

Het relying party-beleid, bijvoorbeeld SignUpSignIn.xml, geeft het gebruikerstraject op dat Door Azure AD B2C wordt uitgevoerd. Zoek het element DefaultUserJourney in relying party. Werk de ReferenceId bij zodat deze overeenkomt met de ID van de gebruikersreis, waarin u de identity provider hebt toegevoegd.

In het volgende voorbeeld is de CustomSignUpSignIn voor het gebruikerstraject ingesteld opCustomSignUpSignIn:

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

Het aangepaste beleid uploaden

  1. Meld u aan bij het Azure-portaal.
  2. Selecteer het pictogram Directory + Abonnement in de portalwerkbalk en selecteer vervolgens de map die uw Azure AD B2C-tenant bevat.
  3. Zoek en selecteer Azure AD B2C in de Azure-portal.
  4. Selecteer onder Beleidde optie Identity Experience Framework.
  5. Selecteer Aangepast beleid uploaden en upload vervolgens de twee beleidsbestanden die u hebt gewijzigd, in de volgende volgorde: het extensiebeleid, bijvoorbeeld TrustFrameworkExtensions.xml, en vervolgens het relying party-beleid, zoals SignUpSignIn.xml.

Uw aangepaste beleid testen

  1. Selecteer uw relying party-beleid, bijvoorbeeld B2C_1A_signup_signin.
  2. Selecteer voor Toepassing een webtoepassing die u eerder hebt geregistreerd. De antwoord-URL moet https://jwt.ms weergeven.
  3. Selecteer de knop Nu uitvoeren .
  4. Selecteer Op de registratie- of aanmeldingspagina Apple om u aan te melden met Apple ID.

Als het aanmeldingsproces is geslaagd, wordt uw browser omgeleid naar https://jwt.ms, waarin de inhoud van het token wordt weergegeven dat wordt geretourneerd door Azure AD B2C.

Uw gebruikersinterface aanpassen

Volg de richtlijnen voor het aanbieden van aanmelden met Apple. Apple biedt verschillende knoppen voor aanmelden met Apple waarmee mensen een account kunnen instellen en zich kunnen aanmelden. Maak zo nodig een aangepaste knop om aanmelden met Apple aan te bieden. Meer informatie over het weergeven van een 'Meld je aan met Apple'-knop.

Ga als volgende te werk om te voldoen aan de richtlijnen voor de Gebruikersinterface van Apple: