Share via


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

Voordat u begint, gebruikt u de selector Een beleidstype kiezen 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.

Notitie

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.

Vereisten

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, & profielen in het menu en selecteer vervolgens (+).
  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) uit deze stap. U hebt deze later nodig.
    5. Selecteer Doorgaan en registreer vervolgens.
  6. Selecteer certificaten, id's, & profielen in het menu en selecteer vervolgens (+).
  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 id is uw client-id voor de OpenID-Verbinding maken-stroom.
    3. Selecteer Doorgaan en selecteer Vervolgens Registreren.
  9. Selecteer in id's de id die u hebt gemaakt.
  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 subdomeinen de tekst in your-tenant-name.b2clogin.com. Vervang uw tenantnaam door de naam van uw tenant. Als u een aangepast domein gebruikt, voert u https://your-domain-name in.
    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 https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp in. Vervang your-tenant-name door uw de naam van uw tenant en your-domain-name door de van uw aangepaste domein. De retour-URL moet in kleine letters staan.
    4. Selecteer Volgende en selecteer Vervolgens Gereed.
    5. Wanneer het pop-upvenster is gesloten, selecteert u Doorgaan en selecteert u Opslaan.

Een Apple-clientgeheim maken

  1. Selecteer Sleutels in het menu van de Apple Developer-portal en selecteer vervolgens (+).
  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 sleutel-id. Deze sleutel is vereist wanneer u gebruikersstromen configureert.
  3. Als u Uw sleutel downloaden wilt downloaden, selecteert u Downloaden om een .p8-bestand te downloaden dat uw sleutel bevat.

Apple configureren als id-provider

  1. Meld u aan bij Azure Portal als globale beheerder van uw Azure AD B2C-tenant.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Selecteer onder Azure-services de optie Azure AD B2C. Of gebruik het zoekvak om naar Azure AD B2C te gaan en dat te selecteren.
  4. Selecteer Id-providers en selecteer Vervolgens Apple.
  5. Voer voor de naam aanmelden in met Apple.
  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

  • Voor aanmelding met Apple is het Beheer vereist om hun clientgeheim elke 6 maanden te 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 Gebruikersstroom uitvoeren.
  8. Selecteer Op de registratie- of aanmeldingspagina Apple om u aan te melden met Apple ID.

Als het aanmeldingsproces is voltooid, wordt uw browser omgeleid naar https://jwt.ms, waar de inhoud van het door Azure AD B2C geretourneerde token wordt weergegeven.

Het clientgeheim ondertekenen

Gebruik het .p8-bestand dat u eerder hebt gedownload om het clientgeheim te ondertekenen bij een JWT-token. 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 Ontwikkelaar de 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-indelingssleutel. 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 de Azure-portal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Selecteer onder Azure-services de optie Azure AD B2C. Of gebruik het zoekvak om naar Azure AD B2C te gaan en dat te selecteren.
  4. Selecteer Identity Experience Framework op de pagina Overzicht.
  5. Selecteer Beleidssleutels en 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-token).
  9. Selecteer Handtekening voor sleutelgebruik.
  10. Selecteer Maken.

Belangrijk

  • Voor aanmelding met Apple is het Beheer vereist om hun clientgeheim elke 6 maanden te 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 id-provider

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 het bestand TrustFrameworkExtensions.xml.

  2. Ga naar het element ClaimsProviders. Als dit niet voorkomt, voegt u het 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 punt is de id-provider ingesteld, maar is deze nog niet beschikbaar op een van de aanmeldingspagina's. Als u niet over een eigen aangepast gebruikerstraject beschikt, maakt u een duplicaat van een bestaand gebruikerstrajectsjabloon. In het andere geval gaat u verder met de volgende stap.

  1. Open het bestand TrustFrameworkBase.xml vanuit het starterspakket.
  2. Zoek en kopieer de volledige inhoud van het element UserJourney dat Id="SignUpOrSignIn" bevat.
  3. Open het bestand TrustFrameworkExtensions.xml en ga naar het element UserJourneys. Als het element niet voorkomt, voegt u het toe.
  4. Plak de volledige inhoud van het element UserJourney dat u hebt gekopieerd als een onderliggend element van het element UserJourneys.
  5. Wijzig de naam van de id van het gebruikerstraject. Bijvoorbeeld Id="CustomSignUpSignIn".

De id-provider toevoegen aan een gebruikerstraject

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

  1. Ga in het gebruikerstraject naar het element van de indelingsstap dat Type="CombinedSignInAndSignUp" of Type="ClaimsProviderSelection" bevat. Dit is doorgaans de eerste indelingsstap. 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 aanmeldingsknoppen die aan de gebruiker worden gepresenteerd. Voeg een XML-element ClaimsProviderSelection toe. Stel de waarde van TargetClaimsExchangeId in op een beschrijvende naam.

  2. Voeg in de volgende indelingsstap een element ClaimsExchange 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 Relying Party-beleid configureren

Met het Relying Party-beleid, bijvoorbeeld SignUpSignIn.xml, wordt het gebruikerstraject opgegeven dat door Azure AD B2C wordt uitgevoerd. Ga naar het element DefaultUserJourney binnen de Relying Party. Werk de ReferenceId bij zodat deze overeenkomt met de gebruikerstraject-id, waarin u de id-provider hebt toegevoegd.

In het volgende voorbeeld is voor het CustomSignUpSignIn-gebruikerstraject de ReferenceId ingesteld op CustomSignUpSignIn:

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

Het aangepaste beleid uploaden

  1. Meld u aan bij de Azure-portal.
  2. Selecteer het pictogram Map + Abonnement in de werkbalk van de portal 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 Beleid de optie Identity Experience Framework.
  5. Selecteer Aangepast beleid uploaden en upload vervolgens de twee beleidsbestanden die u hebt gewijzigd, in de volgende volgorde: het uitbreidingsbeleid, 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 voltooid, wordt uw browser omgeleid naar https://jwt.ms, waar de inhoud van het door Azure AD B2C geretourneerde token wordt weergegeven.

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 aanmelding met de knop Apple.

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