Delen via


AD FS toevoegen als een OpenID Connect-id-provider met behulp van aangepaste beleidsregels in 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.

Vereisten

Een AD FS-toepassing maken

Als u aanmelding voor gebruikers met een AD FS-account wilt inschakelen in Azure Active Directory B2C (Azure AD B2C), maakt u een toepassingsgroep in uw AD FS. Zie Een webtoepassing bouwen door gebruik te maken van OpenID Connect met AD FS 2016 en hoger voor meer informatie.

Voer de volgende stappen uit om een toepassingsgroep te maken:

  1. Ga naar Server Manager en selecteer achtereenvolgens Hulpprogramma's en Beheer van AD FS.
  2. Klik in Beheer van AD FS met de rechtermuisknop op Toepassingsgroepen en selecteer Toepassingsgroep toevoegen.
  3. In het welkomstscherm van de wizard Toepassingsgroep:
    1. Voer de Naam van de toepassing in. Bijvoorbeeld Azure AD B2C-toepassing.
    2. Selecteer onder Client-servertoepassingen de sjabloon Webbrowser die een webtoepassing opent.
    3. Selecteer Volgende.
  4. Op het scherm Systeemeigen toepassingswizard van de wizard Toepassingsgroep:
    1. Kopieer de Client-ID waarde. De client-id is uw toepassings-id van AD FS. U hebt de toepassings-id later in dit artikel nodig.
    2. Voer bij Omleidings-URI https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp in en selecteer vervolgens Toevoegen. 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.
    3. Selecteer achtereenvolgens Volgende , Volgende en nog eens Volgende om de wizard voor app-registratie te voltooien.
    4. Selecteer Sluiten.

De app-claims configureren

In deze stap configureert u de claims die AD FS-toepassing retourneert naar Azure AD B2C.

  1. Selecteer in de Toepassingsgroepen de toepassing die u hebt gemaakt.

  2. Selecteer in het venster met toepassingseigenschappen onder Toepassingen de Webtoepassing. Selecteer vervolgens Edit. Screenshot that shows how to edit a web application.

  3. Selecteer het tabblad Uitgiftetransformatieregels. Selecteer Vervolgens Regel toevoegen.

  4. Selecteer in de sectie Claimregelsjabloon achtereenvolgens LDAP-kenmerken verzenden als claims en Volgende.

  5. Geef bij Naam van claimregel een claimregelnaam op. Selecteer voor Kenmerkarchief Active Directory en voeg de volgende claims toe.

    LDAP-kenmerk Type uitgaande claim
    Principal-naam van gebruiker upn
    Achternaam family_name
    Given-Name given_name
    Display-Name name

    Houd er rekening mee dat sommige namen niet worden weergegeven in de vervolgkeuzelijst Type uitgaande claim. U moet ze handmatig typen (de vervolgkeuzelijst kan worden bewerkt).

  6. Selecteer Voltooien.

  7. Selecteer achtereenvolgens Toepassen en OK.

  8. Selecteer tot slot nogmaals OK.

AD FS configureren als id-provider

  1. Meld u aan bij Azure Portal als globale beheerder van de 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. Kies Alle services linksboven in de Azure Portal, zoek Azure AD B2C en selecteer deze.

  4. Selecteer Id-providers en selecteer vervolgens Nieuwe OpenID Connect-provider.

  5. Voer bij Naam een naam in. Bijvoorbeeld Contoso.

  6. Voer voor de Metagegevens-URL de URL in van het AD FS OpenID Connect-configuratiedocument. Bijvoorbeeld:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. Voor Client-id voert u de toepassings-id in die u eerder hebt genoteerd.

  8. Voer de openid in voor Bereik.

  9. Selecteer voor Antwoordtype de optie id_token. Er is geen waarde voor Clientgeheim nodig. Meer informatie over het gebruik van client-id en -geheim bij het toevoegen van een algemene OpenID Connect-id-provider.

  10. Voer contoso.com in voor Domeinhint (optioneel). Raadpleeg Direct aanmelden met behulp van Azure Active Directory B2C instellen.

  11. Selecteer onder Claimstoewijzing voor id-provider de volgende claims:

    • Gebruikers-id: upn
    • Weergavenaam: unique_name
    • Voornaam: given_name
    • Achternaam: family_name
  12. Selecteer Opslaan.

Id-provider voor AD FS toevoegen aan een gebruikersstroom

Op dit punt is de id-provider AD FS (Contoso) ingesteld, maar is deze nog niet beschikbaar op de aanmeldingspagina's. De id-provider voor AD FS aan een gebruikersstroom toevoegen:

  1. Selecteer Gebruikersstromen in uw Azure AD B2C-tenant.
  2. Selecteer de gebruikersstroom die u wilt toevoegen aan de id-provider voor AD FS (Contoso).
  3. Selecteer onder Id-provider voor sociale netwerken de optie Contoso.
  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 Contoso op de registratie- of aanmeldingspagina om u aan te melden met het Contoso-account.

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.

AD FS configureren als id-provider

Als u wilt dat gebruikers zich kunnen aanmelden met een AD FS-account, moet u AD FS definiƫren als een claimprovider waarmee Azure AD B2C via een eindpunt kan communiceren.

  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>contoso.com</Domain>
      <DisplayName>Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Contoso-OpenIdConnect">
          <DisplayName>Contoso</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://your-adfs-domain/adfs/.well-known/openid-configuration</Item>
            <Item Key="response_types">id_token</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your AD FS application ID</Item>
          </Metadata>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="upn" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="unique_name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Voer voor de METAGEGEVENS-URL de URL in van het AD FS OpenID Connect-configuratiedocument. Bijvoorbeeld:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Stel client_id in op de toepassings-id van de toepassingsregistratie.

  6. 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="ContosoExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="ContosoExchange" TechnicalProfileReferenceId="Contoso-OpenIdConnect" />
  </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 Contoso op de registratie- of aanmeldingspagina om u aan te melden met het Contoso-account.

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.

Volgende stappen

Meer informatie over het doorgeven van AD-FS-tokens aan uw toepassing.