Konfigurera Asignio med Azure Active Directory B2C för multifaktorautentisering

Viktigt!

Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.

Lär dig att integrera Microsoft Entra ID-autentisering (Azure AD B2C) med Asignio. Med den här integreringen ger du kunder en lösenordslös, mjuk biometrisk och multifaktorautentisering. Asignio använder patenterade Asignio Signature och live ansiktsverifiering för användarautentisering. Den ändringsbara biometriska signaturen hjälper till att minska lösenord, bedrägerier, nätfiske och återanvändning av autentiseringsuppgifter via omni-kanalautentisering.

Innan du börjar

Välj en principtypväljare för att ange konfiguration av principtyp. Azure AD B2C har två metoder för att definiera hur användare interagerar med dina program:

  • Fördefinierade användarflöden
  • Konfigurerbara anpassade principer

Stegen i den här artikeln skiljer sig åt för varje metod.

Lära sig mer:

Förutsättningar

  • En Azure AD B2C-klient som är länkad till Azure-prenumerationen

  • Se Självstudie: Skapa en Azure Active Directory B2C-tenant

  • Ett Asignio-klient-ID och en klienthemlighet som utfärdats av Asignio.

  • Dessa token hämtas genom att du registrerar dina mobil- eller webbprogram med Asignio.

För anpassade policys

Fullständig självstudie: Skapa användarflöden och anpassade principer i Azure AD B2C

Scenariobeskrivning

Den här integreringen innehåller följande komponenter:

  • Azure AD B2C – auktoriseringsserver som verifierar användarautentiseringsuppgifter
  • Webb- eller mobilprogram – för att skydda med Asignio MFA
  • Asignio-webbprogram – signaturbiometrisk samling på användarens touchenhet

Följande diagram illustrerar implementeringen.

Diagram som visar implementeringsarkitekturen.

  1. Användaren öppnar azure AD B2C-inloggningssidan i sin mobil- eller webbapp och loggar sedan in eller registrerar sig.
  2. Azure AD B2C omdirigerar användaren till Asignio med en OIDC-begäran (OpenID Connect).
  3. Användaren omdirigeras till Asignio-webbprogrammet för biometrisk inloggning. Om användaren inte registrerade sin Asignio-signatur kan de använda en SMS One-Time-Password (OTP) för att autentisera. Efter autentiseringen får användaren en registreringslänk för att skapa sin Asignio-signatur.
  4. Användaren autentiserar med Asignio Signature och ansiktsverifiering, eller röst- och ansiktsverifiering.
  5. Utmaningssvaret går till Asignio.
  6. Asignio returnerar OIDC-svaret till Azure AD B2C-inloggningen.
  7. Azure AD B2C skickar en begäran om autentiseringsverifiering till Asignio för att bekräfta mottagandet av autentiseringsdata.
  8. Användaren beviljas eller nekas åtkomst till programmet.

Konfigurera ett program med Asignio

Att konfigurera ett program med Asignio görs via webbplatsen Asignio Partner Administration.

  1. Om du vill begära åtkomst för din organisation går du till sidan asignio.com Asignio Partneradministration .
  2. Logga in på Asignio Partner Administration med autentiseringsuppgifter.
  3. Skapa en register för Azure AD B2C-applikationen med din Azure AD B2C-dittnamn. När du använder Azure AD B2C med Asignio hanterar Azure AD B2C anslutna program. Asignio-appar representerar appar i Azure-portalen.
  4. På webbplatsen Asignio Partner Administration genererar du ett klient-ID och en klienthemlighet.
  5. Anteckna och lagra klient-ID och klienthemlighet. Du använder dem senare. Asignio lagrar inte klienthemligheter.
  6. Ange omdirigerings-URI:n på din webbplats som användaren returneras till efter autentiseringen. Använd följande URI-mönster.

[https://<your-b2c-domain>.b2clogin.com/<your-b2c-domain>.onmicrosoft.com/oauth2/authresp].

  1. Ladda upp en företagslogotyp. Den visas vid Asignio-autentisering när användare loggar in.

Registrera ett webbprogram i Azure AD B2C

Registrera program i en klientorganisation som du hanterar och sedan kan de interagera med Azure AD B2C.

Läs mer: Programtyper som kan användas i Active Directory B2C

I den här självstudien registrerar du https://jwt.ms, en Microsoft-webbapplikation med avkodat tokeninnehåll som inte lämnar webbläsaren.

Registrera ett webbprogram

Slutför stegen i Självstudie: Registrera ett webbprogram i Azure Active Directory B2C-artikeln .

Konfigurera Asignio som identitetsprovider i Azure AD B2C

För följande instruktioner använder du Microsoft Entra-klientorganisationen med Azure-prenumerationen.

  1. Logga in på Azure-portalen som minst B2C IEF-policysadministratör för Azure AD B2C-klientorganisationen.
  2. I verktygsfältet i Azure-portalen väljer du Kataloger + prenumerationer.
  3. portalinställningar | Kataloger + prenumerationer letar upp din Microsoft Entra-katalog i listan Katalognamn .
  4. Välj Växla.
  5. I det övre vänstra hörnet i Azure-portalen väljer du Alla tjänster.
  6. Sök efter och välj Azure AD B2C.
  7. I Azure Portal söker du efter och väljer Azure AD B2C.
  8. I den vänstra menyn väljer du Identitetsprovidrar.
  9. Välj Ny OpenID Connect-provider.
  10. Välj Identitetsprovidertyp>OpenID Connect.
  11. Som Namn anger du inloggningen Asignio eller ett namn som du väljer.
  12. För Metadata-URL anger du https://authorization.asignio.com/.well-known/openid-configuration.
  13. För Klient-ID anger du det klient-ID som du genererade.
  14. För Klienthemlighet anger du den klienthemlighet som du genererade.
  15. För Omfång använder du openid-e-postprofil.
  16. För Svarstyp använder du kod.
  17. För Svarsläge använder du fråga.
  18. För Domäntips använder du https://asignio.com.
  19. Välj OK.
  20. Välj Mappa den här identitetsproviderns anspråk.
  21. För Användar-ID använder du sub.
  22. Som Visningsnamn använder du namn.
  23. Använd given_name för Förnamn.
  24. Använd family_name som efternamn.
  25. För Email använder du e-post.
  26. Välj Spara.

Skapa en användarflödesprincip

  1. I din Azure AD B2C-klient väljer du Användarflöden under Principer.
  2. Välj Nytt användarflöde.
  3. Välj Registrera dig och logga in användarflödestyp.
  4. Välj Version rekommenderas.
  5. Välj Skapa.
  6. Ange ett användarflödesnamn, till exempel AsignioSignupSignin.
  7. Under Identitetsprovidrar väljer du Ingen för Lokala konton. Den här åtgärden inaktiverar e-post- och lösenordsautentisering.
  8. För Anpassade identitetsprovidrar väljer du den skapade Asignio-identitetsprovidern.
  9. Välj Skapa.

Testa användarflödet

  1. I din Azure AD B2C-klient väljer du Användarflöden.
  2. Välj det skapade användarflödet.
  3. För Program väljer du det webbprogram som du registrerade. Svars-URL:en är https://jwt.ms.
  4. Välja Kör användarflödet.
  5. Webbläsaren omdirigeras till inloggningssidan för Asignio.
  6. En inloggningsskärm visas.
  7. Längst ned väljer du Asignio-autentisering .

Om du har en Asignio-signatur slutför du uppmaningen att autentisera. Om inte anger du enhetens telefonnummer för att autentisera via SMS OTP. Använd länken för att registrera din Asignio-signatur.

  1. Webbläsaren omdirigeras till https://jwt.ms. Tokeninnehållet som returneras av Azure AD B2C visas.

Skapa Asignio-principnyckel

  1. Lagra den genererade klienthemligheten i Azure AD B2C-klientorganisationen.
  2. Logga in på Azure-portalen.
  3. I portalens verktygsfält väljer du Kataloger + prenumerationer.
  4. portalinställningar | Kataloger + prenumerationer letar upp din Azure AD B2C-katalog i listan Katalognamn .
  5. Välj Växla.
  6. I det övre vänstra hörnet i Azure-portalen väljer du Alla tjänster.
  7. Sök efter och välj Azure AD B2C.
  8. På sidan Översikt väljer du Identity Experience Framework.
  9. Välj Principnycklar.
  10. Välj Lägg till.
  11. För Alternativ väljer du Manuell.
  12. Ange en principnyckel Namn för principnyckeln. Prefixet B2C_1A_ läggs till i nyckelnamnet.
  13. I Hemlighet anger du den klienthemlighet som du antecknade.
  14. För Nyckelanvändning väljer du Signatur.
  15. Välj Skapa.

Konfigurera Asignio som identitetsprovider

Tips/Råd

Kontrollera att Azure AD B2C-principen är konfigurerad innan du börjar. Om inte, följ anvisningarna i Startpaketet för anpassad policy.

För användare att logga in med Asignio definierar du Asignio som en anspråksprovider som Azure AD B2C kommunicerar med via en slutpunkt. Slutpunkt tillhandahåller information som Azure AD B2C använder för att verifiera användarautentisering genom att använda digitalt ID på enheten.

Lägga till Asignio som anspråksprovider

Hämta startpaketen för anpassad princip från GitHub och uppdatera sedan XML-filerna i LocalAccounts-startpaketet med ditt Azure AD B2C-klientnamn:

  1. Ladda ned zip active-directory-b2c-custom-policy-starterpack 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-klientnamnet.

  3. Öppna LocalAccounts/TrustFrameworkExtensions.xml.

  4. Hitta elementet ClaimsProviders . Om det inte finns någon lägger du till den under rotelementet, TrustFrameworkPolicy.

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

     <ClaimsProvider>
       <Domain>contoso.com</Domain>
       <DisplayName>Asignio</DisplayName>
       <TechnicalProfiles>
         <TechnicalProfile Id="Asignio-Oauth2">
           <DisplayName>Asignio</DisplayName>
           <Description>Login with your Asignio account</Description>
           <Protocol Name="OAuth2" />
           <Metadata>
             <Item Key="ProviderName">authorization.asignio.com</Item>
             <Item Key="authorization_endpoint">https://authorization.asignio.com/authorize</Item>
             <Item Key="AccessTokenEndpoint">https://authorization.asignio.com/token</Item>
             <Item Key="ClaimsEndpoint">https://authorization.asignio.com/userinfo</Item>
             <Item Key="ClaimsEndpointAccessTokenName">access_token</Item>
             <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
             <Item Key="HttpBinding">POST</Item>
             <Item Key="scope">openid profile email</Item>
             <Item Key="UsePolicyInRedirectUri">0</Item>
             <!-- Update the Client ID below to the Asignio Application ID -->
             <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
             <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
    
    
             <!-- trying to add additional claim-->
             <!--Insert b2c-extensions-app application ID here, for example: 00001111-aaaa-2222-bbbb-3333cccc4444-->
             <Item Key="00001111-aaaa-2222-bbbb-3333cccc4444"></Item>
             <!--Insert b2c-extensions-app application ObjectId here, for example: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb-->
             <Item Key="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"></Item>
             <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. -->
             <!--<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00001111-aaaa-2222-bbbb-3333cccc4444</Item>-->
             <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to     sign in. -->
             <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
           </Metadata>
           <CryptographicKeys>
             <Key Id="client_secret" StorageReferenceId="B2C_1A_AsignioSecret" />
           </CryptographicKeys>
           <OutputClaims>
             <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
             <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
             <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
             <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" DefaultValue="https://authorization.asignio.com" />
             <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
             <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
             <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
             <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
             <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
           </OutputClaims>
           <OutputClaimsTransformations>
             <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
             <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
             <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
             <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
           </OutputClaimsTransformations>
           <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
         </TechnicalProfile>
       </TechnicalProfiles>
     </ClaimsProvider>
    
  6. Ange client_id med det Asignio-program-ID som du antecknade.

  7. Uppdatera client_secret avsnitt med den principnyckel som du skapade. Till exempel B2C_1A_AsignioSecret:

    <Key Id="client_secret" StorageReferenceId="B2C_1A_AsignioSecret" />
    
  8. Spara ändringarna.

Lägg till en användarresa

Identitetsprovidern finns inte på inloggningssidorna.

  1. Om du har en anpassad användarresa fortsätter du att konfigurera principen för förlitande part, annars kopierar du en mallanvändares resa:
  2. Öppna LocalAccounts/TrustFrameworkBase.xmlfrån startpaketet.
  3. Leta upp och kopiera innehållet i elementet UserJourney som innehåller Id=SignUpOrSignIn.
  4. Öppna LocalAccounts/TrustFrameworkExtensions.xml.
  5. Leta upp elementet UserJourneys . Om det inte finns någon lägger du till en.
  6. Klistra in innehållet i UserJourney-elementet som ett underordnat element till UserJourneys-elementet.
  7. Byt namn på användarens rese-ID. Till exempel Id=AsignioSUSI.

Läs mer: Användarresor

Lägg till identitetsleverantören i en användarupplevelse

Lägg till den nya identitetsleverantören i användarflödet.

  1. Leta reda på orkestreringsstegelementet som innehåller Type=CombinedSignInAndSignUp, eller Type=ClaimsProviderSelection i användarresan. Det är vanligtvis det första orkestreringssteget. Elementet ClaimsProviderSelections har en identitetsproviderlista som användarna loggar in med. Ordningen på elementen styr ordningen på inloggningsknapparna.
  2. Lägg till ett ClaimsProviderSelection XML-element.
  3. Ange värdet TargetClaimsExchangeId till ett lämpligt namn.
  4. Lägg till ett ClaimsExchange-element .
  5. Ange ID:t till värdet för målanspråkens utbytes-ID.
  6. Uppdatera värdet för TechnicalProfileReferenceId till ID:t för den tekniska profil som du skapade.

Följande XML visar orkestrering av användarresor med identitetsprovidern.

    <UserJourney Id="AsignioSUSI">
      <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
          <ClaimsProviderSelections>
            <ClaimsProviderSelection TargetClaimsExchangeId="AsignioExchange" />
            <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
          </ClaimsProviderSelections>
          <ClaimsExchanges>
            <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <!-- Check if the user has selected to sign in using one of the social providers -->
        <OrchestrationStep Order="2" Type="ClaimsExchange">
          <Preconditions>
            <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
              <Value>objectId</Value>
              <Action>SkipThisOrchestrationStep</Action>
            </Precondition>
          </Preconditions>
          <ClaimsExchanges>
            <ClaimsExchange Id="AsignioExchange" TechnicalProfileReferenceId="Asignio-Oauth2" />
            <ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="3" Type="ClaimsExchange">
          <Preconditions>
            <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
              <Value>authenticationSource</Value>
              <Value>localAccountAuthentication</Value>
              <Action>SkipThisOrchestrationStep</Action>
            </Precondition>
          </Preconditions>
          <ClaimsExchanges>
            <ClaimsExchange Id="AADUserReadUsingAlternativeSecurityId" TechnicalProfileReferenceId="AAD-UserReadUsingAlternativeSecurityId-NoError" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <!-- Show self-asserted page only if the directory does not have the user account already (i.e. we do not have an objectId). This can only happen when authentication happened using a social IDP. If local account was created or authentication done using ESTS in step 2, then an user account must exist in the directory by this time. -->
        <OrchestrationStep Order="4" Type="ClaimsExchange">
          <Preconditions>
            <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
              <Value>objectId</Value>
              <Action>SkipThisOrchestrationStep</Action>
            </Precondition>
          </Preconditions>
          <ClaimsExchanges>
            <ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <!-- This step reads any user attributes that we may not have received when authenticating using ESTS so they can be sent            in the token. -->
        <OrchestrationStep Order="5" Type="ClaimsExchange">
          <Preconditions>
            <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
              <Value>authenticationSource</Value>
              <Value>socialIdpAuthentication</Value>
              <Action>SkipThisOrchestrationStep</Action>
            </Precondition>
          </Preconditions>
          <ClaimsExchanges>
            <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <!-- The previous step (SelfAsserted-Social) could have been skipped if there were no attributes to collect from the user. So, in that case, create the user in the directory if one does not already exist (verified using objectId which would be set from the last step if account was created in the directory. -->
        <OrchestrationStep Order="6" Type="ClaimsExchange">
          <Preconditions>
            <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
              <Value>objectId</Value>
              <Action>SkipThisOrchestrationStep</Action>
            </Precondition>
          </Preconditions>
          <ClaimsExchanges>
            <ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="AAD-UserWriteUsingAlternativeSecurityId" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
      </OrchestrationSteps>
      <ClientDefinition ReferenceId="DefaultWeb" />
    </UserJourney>

Konfigurera policyn för den förlitande parten

Policy för förlitande part, till exempel SignUpSignIn.xml, anger vilken användarresa Azure AD B2C kör.

  1. Leta upp elementet DefaultUserJourney i den förlitande parten.
  2. Uppdatera ReferenceId så att det matchar användarens rese-ID, där du lade till identitetsprovidern.

I följande exempel, för användarupplevelsen, är AsignioSUSI inställt på :

   <RelyingParty>
        <DefaultUserJourney ReferenceId="AsignioSUSI" />
        <TechnicalProfile Id="PolicyProfile">
          <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}" />
            <OutputClaim ClaimTypeReferenceId="correlationId" DefaultValue="{Context:CorrelationId}" />
          </OutputClaims>
          <SubjectNamingInfo ClaimType="sub" />
        </TechnicalProfile>
      </RelyingParty>

Ladda upp den anpassade policyn

  1. Logga in på Azure-portalen.
  2. I portalens verktygsfält väljer du Kataloger + prenumerationer.
  3. portalinställningar | Kataloger + prenumerationer letar upp din Azure AD B2C-katalog 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 Ladda upp anpassad policy.
  8. Ladda upp de två principfilerna som du ändrade i följande ordning:
  • Utökningspolicy, som exempel TrustFrameworkExtensions.xml
  • Policy för den förlitande parten, till exempel SignUpOrSignin.xml

Testa din anpassade policy

  1. I din Azure AD B2C-klientorganisation och under Principer väljer du Identity Experience Framework.
  2. Under Anpassade principer väljer du AsignioSUSI.
  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 Asignio.
  6. En inloggningsskärm visas.
  7. Längst ned väljer du Asignio-autentisering .

Om du har en Asignio-signatur uppmanas du att autentisera med din Asignio-signatur. Om inte anger du enhetens telefonnummer för att autentisera via SMS OTP. Använd länken för att registrera din Asignio-signatur.

  1. Webbläsaren omdirigeras till https://jwt.ms. Tokeninnehållet som returneras av Azure AD B2C visas.

Nästa steg