Delen via


Beveiliging verzenden configureren met Azure Active Directory B2C voor verificatie zonder wachtwoord

In deze zelfstudie leert u hoe u Azure Active Directory B2C-verificatie (Azure AD B2C) integreert met Transmit Security BindID, een verificatieoplossing zonder wachtwoord. BindID maakt gebruik van sterke fast identity online (FIDO2) biometrische verificatie voor betrouwbare omni-channel-verificatie. De oplossing zorgt voor een soepele aanmeldingservaring voor klanten op verschillende apparaten en kanalen, terwijl fraude, phishing en hergebruik van referenties worden verminderd.

Scenariobeschrijving

In het volgende architectuurdiagram ziet u de implementatie.

Diagram van de BindID- en Azure AD B2C-architectuur.

  1. Gebruiker opent de Azure AD B2C-aanmeldingspagina en meldt zich aan of meldt zich aan.
  2. Azure AD B2C leidt de gebruiker om naar BindID met behulp van een OIDC-aanvraag (OpenID Connect).
  3. BindID verifieert de gebruiker met behulp van toepassingsloze FIDO2-biometrie, zoals vingerafdruk.
  4. Een gedecentraliseerde verificatiereactie wordt geretourneerd naar BindID.
  5. Het OIDC-antwoord wordt doorgegeven aan Azure AD B2C.
  6. De gebruiker krijgt of wordt de toegang tot de toepassing geweigerd op basis van verificatieresultaten.

Vereisten

Om aan de slag te gaan, hebt u het volgende nodig:

Een app registreren in BindID

Aan de slag:

  1. Ga naar developer.bindid.io om uw toepassing te configureren.
  2. Voeg een toepassing toe in BindID Beheer Portal. Aanmelden is vereist.
Eigenschap Beschrijving
Name De naam van de toepassing
Domain Voer your-B2C-tenant-name.onmicrosoft.com in. Vervang door your-B2C-tenant uw Azure AD B2C-tenant.
Omleidings-URI's https://jwt.ms/
Omleidings-URL's Voer https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp in. Vervang door your-B2C-tenant uw Azure AD B2C-tenant. Vervang voor een aangepast domein door your-B2C-tenant-name.b2clogin.com uw aangepaste domein.
  1. Bij de registratie worden een client-id en clientgeheim weergegeven.
  2. Noteer de waarden voor later gebruik.

BindID configureren als id-provider in Azure AD B2C

Gebruik voor de volgende instructies de map met uw Azure AD B2C-tenant.

  1. Meld u aan bij de Azure Portal als globale beheerder.
  2. Selecteer mappen en abonnementen in de portalwerkbalk.
  3. In de portalinstellingen | Op de pagina Directory's en abonnementen zoekt u in de lijst Directorynaam de Azure AD B2C-map.
  4. Selecteer Schakelen.
  5. Selecteer in de linkerbovenhoek van het Azure Portal De optie Alle services.
  6. Ga naar Azure AD B2C en selecteer het.
  7. Selecteer Id-providers.
  8. Selecteer Nieuwe OpenID Connect-provider.
  9. Voer een naam in.
  10. Voer bij Metagegevens-URL in https://signin.bindid-sandbox.io/.well-known/openid-configuration.
  11. Voer bij Client-id de client-id in die u hebt vastgelegd.
  12. Voer bij Clientgeheim het clientgeheim in dat u hebt opgenomen.
  13. Voer de openid email in voor Bereik.
  14. Selecteer bij Antwoordtypede optie Code.
  15. Bij Antwoordmodus selecteert u form_post.
  16. Selecteer onder Claimtoewijzing van id-provider bij Gebruikers-id de optie sub.
  17. Selecteer emailvoor Email .
  18. Selecteer Opslaan.

Een gebruikersstroom maken

  1. Selecteer in uw Azure AD B2C-tenant onder Beleid de optie Gebruikersstromen.
  2. Selecteer Nieuwe gebruikersstroom.
  3. Selecteer Registreren en gebruikersstroomtype aanmelden .
  4. Selecteer Maken.
  5. Voer een naam in.
  6. Selecteer onder Id-providers voor Lokale accounts de optie Geen. Met deze actie wordt verificatie op basis van e-mail en wachtwoorden uitgeschakeld.
  7. Selecteer voor Aangepaste id-providers de gemaakte BindID-id-provider, zoals Aanmelden met BindID.
  8. Selecteer Maken.

De gebruikersstroom testen

  1. Selecteer gebruikersstromen in de Azure AD B2C-tenant.
  2. Selecteer de gemaakte gebruikersstroom, zoals B2C_1_signupsignin.
  3. Selecteer bij Toepassing de webtoepassing die u hebt geregistreerd. De antwoord-URL is https://jwt.ms.
  4. Selecteer Gebruikersstroom uitvoeren.
  5. De browser wordt omgeleid naar de aanmeldingspagina van BindID.
  6. Voer het e-mailadres van het geregistreerde account in.
  7. Verifieert met toepassingsloze FIDO2-biometrie, zoals vingerafdruk.
  8. De browser wordt omgeleid naar https://jwt.ms. De inhoud wordt weergegeven voor het token dat is geretourneerd door Azure AD B2C.

Een BindID-beleidssleutel maken

Voeg het Clientgeheim van de BindID-toepassing toe als een beleidssleutel. Gebruik voor de volgende instructies de map met uw Azure AD B2C-tenant.

  1. Meld u aan bij de Azure-portal.
  2. Selecteer mappen en abonnementen in de portalwerkbalk.
  3. In de portalinstellingen | Op de pagina Directory's en abonnementen zoekt u in de lijst Directorynaam de Azure AD B2C-map.
  4. Selecteer Schakelen.
  5. Selecteer op de pagina Overzicht onder Beleid de optie Identity Experience Framework.
  6. Selecteer Beleidssleutels.
  7. Selecteer Toevoegen.
  8. Bij Opties selecteert u Handmatig.
  9. Voer een naam in. Het voorvoegsel B2C_1A_ wordt toegevoegd aan de sleutelnaam.
  10. Voer bij Geheim het clientgeheim in dat u hebt opgenomen.
  11. Selecteer Handtekening voor sleutelgebruik.
  12. Selecteer Maken.

BindID configureren als id-provider

Als u aanmelden met BindID wilt inschakelen, definieert u BindID als een claimprovider waarmee Azure AD B2C communiceert via een eindpunt. Het eindpunt biedt claims die door Azure AD B2C worden gebruikt om een gebruiker te verifiëren die is geverifieerd met een digitale identiteit op een apparaat.

Voeg BindID toe als een claimprovider. Om aan de slag te gaan, haalt u de aangepaste beleidsstartpakketten op van GitHub en werkt u vervolgens de XML-bestanden in het starterspakket SocialAndLocalAccounts bij met de naam van uw Azure AD B2C-tenant:

  1. Open de zip-map active-directory-b2c-custom-policy-starterpack-main.zip of kloon de opslagplaats:

        git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. Vervang in de bestanden in de map LocalAccounts de tekenreeks yourtenant door de Azure AD B2C-tenantnaam.

  3. Open het LocalAccounts/ TrustFrameworkExtensions.xml.

  4. Ga naar het element ClaimsProviders. Als dit niet wordt weergegeven, voegt u het toe onder het hoofdelement.

  5. Voeg een nieuwe ClaimsProvider toe die vergelijkbaar is met het volgende voorbeeld:

     <ClaimsProvider>
         <Domain>signin.bindid-sandbox.io</Domain>
         <DisplayName>BindID</DisplayName>
         <TechnicalProfiles>
           <TechnicalProfile Id="BindID-OpenIdConnect">
             <DisplayName>BindID</DisplayName>
             <Protocol Name="OpenIdConnect" />
             <Metadata>
               <Item Key="METADATA">https://signin.bindid-sandbox.io/.well-known/openid-configuration</Item>
                <!-- Update the Client ID below to the BindID Application ID -->
               <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
               <Item Key="response_types">code</Item>
               <Item Key="scope">openid email</Item>
               <Item Key="response_mode">form_post</Item>
               <Item Key="HttpBinding">POST</Item>
               <Item Key="UsePolicyInRedirectUri">false</Item>
               <Item Key="AccessTokenResponseFormat">json</Item>
             </Metadata>
             <CryptographicKeys>
               <Key Id="client_secret" StorageReferenceId="B2C_1A_BindIDClientSecret" />
             </CryptographicKeys>
             <OutputClaims>
               <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
               <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
               <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>    
    
  6. Stel client_id in met de BindID-toepassings-id die u hebt vastgelegd.

  7. Selecteer Opslaan.

Een gebruikerstraject toevoegen

De id-provider bevindt zich niet op de aanmeldingspagina's. Als u een aangepast gebruikerstraject hebt, gaat u verder met De id-provider toevoegen aan een gebruikerstraject. Maak anders een dubbel sjabloongebruikerstraject:

  1. Open het bestand vanuit het LocalAccounts/ TrustFrameworkBase.xml starterspakket.
  2. Zoek en kopieer de inhoud van het UserJourney-element dat bevat Id=SignUpOrSignIn.
  3. Open het LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Zoek het element UserJourneys . Als er geen element is, voegt u er een toe.
  5. Plak het element UserJourney als een onderliggend element van het element UserJourneys.
  6. Wijzig de naam van de gebruikersbelevings-id.

De id-provider toevoegen aan een gebruikerstraject

Voeg de nieuwe id-provider toe aan het gebruikerstraject.

  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 gebruikers zich aanmelden. De volgorde van de elementen bepaalt de volgorde van de aanmeldingsknoppen.
  2. Voeg een XML-element ClaimsProviderSelection toe.
  3. Stel de waarde van TargetClaimsExchangeId in op een beschrijvende naam.
  4. Voeg het element ClaimsExchange toe.
  5. Stel de id in op de waarde van de exchange-id van de doelclaims. Met deze actie wordt de knop BindID gekoppeld aan BindID-SignIn.
  6. Werk de waarde TechnicalProfileReferenceId bij naar de technische profiel-id die u hebt gemaakt.

In de volgende XML ziet u het gebruikerstraject van de indeling met de id-provider.

    <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
      <ClaimsProviderSelections>
        ...
        <ClaimsProviderSelection TargetClaimsExchangeId="BindIDExchange" />
      </ClaimsProviderSelections>
      ...
    </OrchestrationStep>
    
    <OrchestrationStep Order="2" Type="ClaimsExchange">
      ...
      <ClaimsExchanges>
        <ClaimsExchange Id="BindIDExchange" TechnicalProfileReferenceId="BindID-OpenIdConnect" />
      </ClaimsExchanges>
    </OrchestrationStep>

Het Relying Party-beleid configureren

Het relying party-beleid, bijvoorbeeld SignUpOrSignIn.xml, geeft het gebruikerstraject op Azure AD B2C wordt uitgevoerd. U kunt claims beheren die worden doorgegeven aan uw toepassing door het element OutputClaims van het element PolicyProfile TechnicalProfile aan te passen. In deze zelfstudie ontvangt de toepassing de gebruikerskenmerken, zoals weergavenaam, voornaam, achternaam, e-mail, objectId, id-provider en tenantId.

Zie Azure-Samples/active-directory-b2c-custom-policy-starterpack

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignInWithBindID" />
    <TechnicalProfile Id="BindID-OpenIdConnect">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>

Het aangepaste beleid uploaden

  1. Meld u aan bij de Azure-portal.
  2. Selecteer mappen en abonnementen in de portalwerkbalk.
  3. In de portalinstellingen | Op de pagina Directory's en abonnementen vindt u in de lijst Directorynaam de Azure AD B2C-directory.
  4. Selecteer Schakelen.
  5. Zoek en selecteer Azure AD B2C in de Azure-portal.
  6. Selecteer onder Beleid de optie Identity Experience Framework.
  7. Selecteer Aangepast beleid uploaden.
  8. Upload de bestanden in het starterspakket LocalAccounts in de volgende volgorde:
  • Basisbeleid, bijvoorbeeld TrustFrameworkBase.xml
  • Lokalisatiebeleid, bijvoorbeeld TrustFrameworkLocalization.xml
  • Uitbreidingsbeleid, bijvoorbeeld TrustFrameworkExtensions.xml
  • Relying Party-beleid, zoals SignUpOrSignIn.xml

Uw aangepaste beleid testen

Gebruik voor de volgende instructies de map met uw Azure AD B2C-tenant.

  1. Selecteer in de Azure AD B2C-tenant en onder Beleidde optie Identity Experience Framework.
  2. Selecteer onder Aangepast beleidde optie B2C_1A_signup_signin.
  3. Selecteer bij Toepassing de webtoepassing die u hebt geregistreerd. De antwoord-URL is https://jwt.ms.
  4. Selecteer Nu uitvoeren.
  5. De browser wordt omgeleid naar de aanmeldingspagina van BindID.
  6. Voer het e-mailadres van het geregistreerde account in.
  7. Verifieer met behulp van appless FIDO2 biometrie, zoals vingerafdruk.
  8. De browser wordt omgeleid naar https://jwt.ms. De inhoud van het token, geretourneerd door Azure AD B2C, wordt weergegeven.

Volgende stappen

Raadpleeg de volgende artikelen voor meer informatie: