Share via


Konfigurera överföringssäkerhet med Azure Active Directory B2C för lösenordslös autentisering

I den här självstudien lär du dig att integrera Azure Active Directory B2C-autentisering (Azure AD B2C) med BindID för överföringssäkerhet, en lösning för lösenordslös autentisering. BindID använder stark FIDO2-biometrisk autentisering (Fast Identity Online) för tillförlitlig omni-kanalautentisering. Lösningen säkerställer en smidig inloggning för kunder över enheter och kanaler, samtidigt som bedrägerier, nätfiske och återanvändning av autentiseringsuppgifter minskar.

Scenariobeskrivning

Följande arkitekturdiagram illustrerar implementeringen.

Diagram över BindID- och Azure AD B2C-arkitekturen.

  1. Användaren öppnar inloggningssidan Azure AD B2C och loggar in eller registrerar sig.
  2. Azure AD B2C omdirigerar användaren till BindID med en OIDC-begäran (OpenID Connect).
  3. BindID autentiserar användaren med apples FIDO2-biometri, till exempel fingeravtryck.
  4. Ett decentraliserat autentiseringssvar returneras till BindID.
  5. OIDC-svaret skickas till Azure AD B2C.
  6. Användaren beviljas eller nekas åtkomst till programmet baserat på verifieringsresultat.

Förutsättningar

Du behöver följande för att komma igång:

Registrera en app i BindID

Så här kommer du igång:

  1. Gå till developer.bindid.io för att konfigurera ditt program.
  2. Lägg till ett program i BindID Admin Portal. Inloggning krävs.
Egenskap Beskrivning
Name Programnamn
Domain Ange your-B2C-tenant-name.onmicrosoft.com. Ersätt your-B2C-tenant med din Azure AD B2C-klientorganisation.
Omdirigerings-URI:er https://jwt.ms/
Omdirigerings-URL:er Ange https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp. Ersätt your-B2C-tenant med din Azure AD B2C-klientorganisation. Ersätt med din anpassade domän för en anpassad domän your-B2C-tenant-name.b2clogin.com .
  1. Vid registreringen visas ett klient-ID och en klienthemlighet .
  2. Registrera de värden som ska användas senare.

Konfigurera BindID som en identitetsprovider i Azure AD B2C

Följ anvisningarna nedan genom att använda katalogen med din Azure AD B2C-klientorganisation.

  1. Logga in på Azure Portal som global administratör.
  2. I portalens verktygsfält väljer du Kataloger + prenumerationer.
  3. I portalinställningarna | På sidan Kataloger + prenumerationer letar du upp katalogen Azure AD B2C i listan Katalognamn.
  4. Välj Växla.
  5. I det övre vänstra hörnet i Azure Portal väljer du Alla tjänster.
  6. Sök efter och välj Azure AD B2C.
  7. Välj Identitetsprovidrar.
  8. Välj Ny OpenID Connect-provider.
  9. Ange ett namn.
  10. För Metadata-URL anger du https://signin.bindid-sandbox.io/.well-known/openid-configuration.
  11. För Klient-ID anger du det klient-ID som du registrerade.
  12. För Klienthemlighet anger du den klienthemlighet som du har registrerat.
  13. För omfånget anger du openid email.
  14. Som Svarstyp väljer du kod.
  15. I Svarsläge väljer du form_post.
  16. Under Anspråksmappning för identitetsprovider väljer du subför Användar-ID .
  17. För Email väljer du email.
  18. Välj Spara.

Skapa ett användarflöde

  1. Välj Användarflöden under Principer i din Azure AD B2C-klientorganisation.
  2. Välj Nytt användarflöde.
  3. Välj Registrera dig och logga in användarflödestyp.
  4. Välj Skapa.
  5. Ange ett namn.
  6. Under Identitetsprovidrar för Lokala konton väljer du Ingen. Den här åtgärden inaktiverar e-post och lösenordsbaserad autentisering.
  7. För Anpassade identitetsprovidrar väljer du den skapade BindID-identitetsprovidern, till exempel Inloggning med BindID.
  8. Välj Skapa.

Testa användarflödet

  1. I Azure AD B2C-klient väljer du Användarflöden.
  2. Välj det skapade användarflödet, till exempel B2C_1_signupsignin.
  3. För Program väljer du det webbprogram som du registrerade. Svars-URL:en är https://jwt.ms.
  4. Välj Kör användarflöde.
  5. Webbläsaren omdirigeras till bindID-inloggningssidan.
  6. Ange e-postadressen för det registrerade kontot.
  7. Autentiserar med apples FIDO2-biometri, till exempel fingeravtryck.
  8. Webbläsaren omdirigeras till https://jwt.ms. Innehållet visas för token som returneras av Azure AD B2C.

Skapa en BindID-principnyckel

Lägg till BindID-programmets klienthemlighet som en principnyckel. Följ anvisningarna nedan genom att använda katalogen med din Azure AD B2C-klientorganisation.

  1. Logga in på Azure-portalen.
  2. I portalens verktygsfält väljer du Kataloger + prenumerationer.
  3. I portalinställningarna | På sidan Kataloger + prenumerationer letar du upp katalogen Azure AD B2C i listan Katalognamn.
  4. Välj Växla.
  5. På sidan Översikt går du till Principer och väljer Identity Experience Framework.
  6. Välj Principnycklar.
  7. Välj Lägg till.
  8. För Alternativ väljer du Manuell.
  9. Ange ett namn. Prefixet B2C_1A_ läggs till i nyckelnamnet.
  10. I Hemlighet anger du den klienthemlighet som du registrerade.
  11. För Nyckelanvändning väljer du Signatur.
  12. Välj Skapa.

Konfigurera BindID som en identitetsprovider

Om du vill aktivera inloggning med BindID definierar du BindID som en anspråksprovider som Azure AD B2C kommunicerar med via en slutpunkt. Slutpunkten tillhandahåller anspråk som används av Azure AD B2C för att verifiera en användare som autentiserats med digital identitet på en enhet.

Lägg till BindID som en anspråksprovider. Kom igång genom att hämta startpaketen för anpassad princip från GitHub och sedan uppdatera XML-filerna i startpaketet SocialAndLocalAccounts med ditt Azure AD B2C-klientnamn:

  1. Öppna zip-mappen active-directory-b2c-custom-policy-starterpack-main.zip eller klona lagringsplatsen:

        git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. I filerna i katalogen LocalAccounts ersätter du strängen yourtenant med Azure AD B2C-klientnamn.

  3. Öppna LocalAccounts/ TrustFrameworkExtensions.xml.

  4. Hitta elementet ClaimsProviders . Om den inte visas lägger du till den under rotelementet.

  5. Lägg till en ny ClaimsProvider som liknar följande exempel:

     <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. Ange client_id med det BindID-program-ID som du registrerade.

  7. Välj Spara.

Lägga till en användarresa

Identitetsprovidern finns inte på inloggningssidorna. Om du har en anpassad användarresa fortsätter du att lägga till identitetsprovidern i en användarresa, annars skapar du en dubblett av mallens användarresa:

  1. Öppna filen från startpaketet LocalAccounts/ TrustFrameworkBase.xml .
  2. Hitta och kopiera innehållet i elementet UserJourney som innehåller Id=SignUpOrSignIn.
  3. Öppna LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Leta upp elementet UserJourneys . Om det inte finns något element lägger du till ett.
  5. Klistra in elementet UserJourney som underordnad elementet UserJourneys.
  6. Byt namn på användarresans ID.

Lägga till identitetsprovidern i en användarresa

Lägg till den nya identitetsprovidern i användarresan.

  1. Hitta orkestreringsstegelementet som innehåller Type=CombinedSignInAndSignUp, eller Type=ClaimsProviderSelection i användarresan. Det är vanligtvis det första orkestreringssteget. Elementet ClaimsProviderSelections har en lista över identitetsproviders som användarna loggar in med. Ordningen på elementen styr ordningen på inloggningsknapparna.
  2. Lägg till xml-elementet ClaimsProviderSelection .
  3. Ange värdet för TargetClaimsExchangeId till ett eget namn.
  4. Lägg till ett ClaimsExchange-element .
  5. Ange ID :t till värdet för målanspråkets utbytes-ID. Den här åtgärden länkar BindID-knappen till BindID-SignIn.
  6. Uppdatera värdet TechnicalProfileReferenceId till det tekniska profil-ID som du skapade.

Följande XML visar orkestreringsanvändarens resa med identitetsprovidern.

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

Konfigurera principen för förlitande part

Principen för förlitande part, till exempel SignUpOrSignIn.xml, anger användarresan Azure AD B2C körs. Du kan styra anspråk som skickas till ditt program genom att justera elementet OutputClaims i elementet PolicyProfile TechnicalProfile. I den här självstudien får programmet användarattribut som visningsnamn, förnamn, efternamn, e-post, objectId, identitetsprovider och tenantId.

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

Ladda upp den anpassade principen

  1. Logga in på Azure-portalen.
  2. I portalverktygsfältet väljer du Kataloger + prenumerationer.
  3. I portalinställningarna | På sidan Kataloger + prenumerationer letar du upp katalogen Azure AD B2C i listan Katalognamn.
  4. Välj Växla.
  5. I Azure Portal söker du efter och väljer Azure AD B2C.
  6. Under Principer väljer du Identity Experience Framework.
  7. Välj Överför anpassad princip.
  8. Ladda upp filerna i localaccounts-startpaketet i följande ordning:
  • Basprincip, till exempel TrustFrameworkBase.xml
  • Lokaliseringsprincip, till exempel TrustFrameworkLocalization.xml
  • Tilläggsprincip, till exempel TrustFrameworkExtensions.xml
  • Princip för förlitande part, till exempel SignUpOrSignIn.xml

Testa din anpassade princip

Följ anvisningarna nedan genom att använda katalogen med din Azure AD B2C-klientorganisation.

  1. I Azure AD B2C-klientorganisation och under Principer väljer du Identity Experience Framework.
  2. Under Anpassade principer väljer du B2C_1A_signup_signin.
  3. För Program väljer du det webbprogram som du registrerade. Svars-URL:en är https://jwt.ms.
  4. Välj Kör nu.
  5. Webbläsaren omdirigeras till inloggningssidan för BindID.
  6. Ange e-postadressen för det registrerade kontot.
  7. Autentisera med apples FIDO2-biometri, till exempel fingeravtryck.
  8. Webbläsaren omdirigeras till https://jwt.ms. Tokeninnehållet som returneras av Azure AD B2C visas.

Nästa steg

Mer information finns i följande artiklar: