Konfigurera Asignio med Azure Active Directory B2C för multifaktorautentisering
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 patenterad Asignio-signatur 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 konfigurationen av principtypen. 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äs mer:
Förutsättningar
En Azure-prenumeration.
Om du inte har aktiverat får du ett kostnadsfritt Azure-konto
En Azure AD B2C-klientorganisation som är länkad till Azure-prenumerationen
Se Självstudie: Skapa en Azure Active Directory B2C-klientorganisation
Ett Asignio-klient-ID och en klienthemlighet som utfärdats av Asignio.
Dessa token hämtas genom att registrera dina mobil- eller webbprogram med Asignio.
För anpassade principer
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-webbapp – signatur biometrisk samling på användarens touch-enhet
Följande diagram illustrerar implementeringen.
- Användaren öppnar Azure AD B2C-inloggningssida i mobil- eller webbappen och loggar sedan in eller registrerar sig.
- Azure AD B2C omdirigerar användaren till Asignio med hjälp av en OIDC-begäran (OpenID Connect).
- Användaren omdirigeras till Asignio-webbprogrammet för biometrisk inloggning. Om användaren inte har registrerat sin Asignio-signatur kan de använda ett SMS Engångslösenord (OTP) för att autentisera. Efter autentiseringen får användaren en registreringslänk för att skapa sin Asignio-signatur.
- Användaren autentiserar med Asignio Signatur och ansiktsverifiering, eller röst- och ansiktsverifiering.
- Utmaningssvaret går till Asignio.
- Asignio returnerar OIDC-svaret till Azure AD B2C-inloggning.
- Azure AD B2C skickar en begäran om autentiseringsverifiering till Asignio för att bekräfta mottagandet av autentiseringsdata.
- Användaren beviljas eller nekas åtkomst till programmet.
Konfigurera ett program med Asignio
Att konfigurera ett program med Asignio är med webbplatsen för Asignio-partneradministration.
- Gå till sidan asignio.com Asignio-partneradministration för att begära åtkomst för din organisation.
- Logga in på Asignio Partner Administration med autentiseringsuppgifter.
- Skapa en post för Azure AD B2C-programmet med din Azure AD B2C-klientorganisation. När du använder Azure AD B2C med Asignio hanterar Azure AD B2C anslutna program. Asignio-appar representerar appar i Azure Portal.
- Generera ett klient-ID och en klienthemlighet på Asignio-partneradministrationswebbplatsen.
- Anteckna och lagra klient-ID och klienthemlighet. Du kommer att använda dem senare. Asignio lagrar inte klienthemligheter.
- 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]
.
- 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 interagera med Azure AD B2C.
Läs mer: Programtyper som kan användas i Active Directory B2C
I den här självstudien registrerar https://jwt.ms
du , ett Microsoft-webbprogram med avkodat tokeninnehåll som inte lämnar webbläsaren.
Registrera ett webbprogram och aktivera implicit beviljande av ID-token
Fullständig självstudie: Registrera ett webbprogram i Azure Active Directory B2C
Konfigurera Asignio som identitetsprovider i Azure AD B2C
Använd Microsoft Entra klientorganisation med Azure-prenumerationen för följande instruktioner.
- Logga in på Azure Portal som global administratör för Azure AD B2C-klientorganisationen.
- I verktygsfältet Azure Portal väljer du Kataloger + prenumerationer.
- Inställningar i portalen | Kataloger + prenumerationer letar upp Microsoft Entra katalog i listan Katalognamn.
- Välj Växla.
- I det övre vänstra hörnet i Azure Portal väljer du Alla tjänster.
- Sök efter och välj Azure AD B2C.
- I Azure Portal söker du efter och väljer Azure AD B2C.
- I den vänstra menyn väljer du Identitetsprovidrar.
- Välj Ny OpenID Connect-provider.
- Välj Identitetsprovidertyp>OpenID Connect.
- För Namn anger du inloggningen Asignio eller ett namn som du väljer.
- För Metadata-URL anger du
https://authorization.asignio.com/.well-known/openid-configuration
. - För Klient-ID anger du det klient-ID som du genererade.
- För Klienthemlighet anger du den klienthemlighet som du genererade.
- För Omfång använder du openid-e-postprofil.
- För Svarstyp använder du kod.
- För Svarsläge använder du frågan.
- För Domäntips använder du
https://asignio.com
. - Välj OK.
- Välj Mappa den här identitetsproviderns anspråk.
- För Användar-ID använder du sub.
- För Visningsnamn använder du namn.
- För Förnamn använder du given_name.
- För Efternamn använder du family_name.
- För Email använder du e-post.
- Välj Spara.
Skapa en princip för användarflöde
- Välj Användarflöden under Principer i din Azure AD B2C-klientorganisation.
- Välj Nytt användarflöde.
- Välj Registrera dig och logga in användarflödestyp.
- Välj Version rekommenderas.
- Välj Skapa.
- Ange ett användarflödesnamn, till exempel
AsignioSignupSignin
. - Under Identitetsprovidrar för Lokala konton väljer du Ingen. Den här åtgärden inaktiverar e-post- och lösenordsautentisering.
- För Anpassade identitetsprovidrar väljer du den skapade Asignio Identity-providern.
- Välj Skapa.
Testa användarflödet
- I din Azure AD B2C-klient väljer du Användarflöden.
- Välj det skapade användarflödet.
- För Program väljer du det webbprogram som du registrerade.
Svars-URL:en är
https://jwt.ms
. - Välj Kör användarflöde.
- Webbläsaren omdirigeras till inloggningssidan för Asignio.
- En inloggningsskärm visas.
- 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.
- Webbläsaren omdirigeras till
https://jwt.ms
. Tokeninnehållet som returneras av Azure AD B2C visas.
Skapa Asignio-principnyckel
- Lagra den genererade klienthemligheten i Azure AD B2C-klientorganisationen.
- Logga in på Azure-portalen.
- I portalverktygsfältet väljer du Kataloger + prenumerationer.
- I portalinställningar | Kataloger + prenumerationer letar upp din Azure AD B2C-katalog i listan Katalognamn.
- Välj Växla.
- I det övre vänstra hörnet i Azure Portal väljer du Alla tjänster.
- Sök efter och välj Azure AD B2C.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar.
- Välj Lägg till.
- För Alternativ väljer du Manuell.
- Ange en principnyckel Namn för principnyckeln. Prefixet
B2C_1A_
läggs till i nyckelnamnet. - I Hemlighet anger du den klienthemlighet som du antecknade.
- För Nyckelanvändning väljer du Signatur.
- Välj Skapa.
Konfigurera Asignio som identitetsprovider
Tips
Innan du börjar kontrollerar du att Azure AD B2C-principen har konfigurerats. Annars följer du anvisningarna i Startpaketet för anpassad princip.
För att användare ska kunna logga in med Asignio definierar du Asignio som en anspråksprovider som Azure AD B2C kommunicerar med via en slutpunkt. Slutpunkten tillhandahåller anspråk Azure AD B2C använder för att verifiera användarautentisering med hjälp av 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:
Ladda ned zip-filen active-directory-b2c-custom-policy-starterpack eller klona lagringsplatsen:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
I filerna i katalogen LocalAccounts ersätter du strängen
yourtenant
med Azure AD B2C-klientnamn.Öppna LocalAccounts/ TrustFrameworkExtensions.xml.
Hitta elementet ClaimsProviders . Om det inte finns någon lägger du till den under rotelementet ,
TrustFrameworkPolicy
.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">00000000-0000-0000-0000-000000000000</Item> <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> <!-- trying to add additional claim--> <!--Insert b2c-extensions-app application ID here, for example: 11111111-1111-1111-1111-111111111111--> <Item Key="11111111-1111-1111-1111-111111111111"></Item> <!--Insert b2c-extensions-app application ObjectId here, for example: 22222222-2222-2222-2222-222222222222--> <Item Key="22222222-2222-2222-2222-222222222222"></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/11111111-1111-1111-1111-111111111111</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>
Ange client_id med det Asignio-program-ID som du antecknade.
Uppdatera client_secret avsnitt med den principnyckel som du skapade. Till exempel
B2C_1A_AsignioSecret
:<Key Id="client_secret" StorageReferenceId="B2C_1A_AsignioSecret" />
Spara ändringarna.
Lägga till en användarresa
Identitetsprovidern finns inte på inloggningssidorna.
- Om du har en anpassad användarresa fortsätter du att konfigurera principen för förlitande part, annars kopierar du en mallanvändarresa:
- Öppna LocalAccounts/TrustFrameworkBase.xmlfrån startpaketet.
- Leta upp och kopiera innehållet i elementet UserJourney som innehåller
Id=SignUpOrSignIn
. - Öppna LocalAccounts/ TrustFrameworkExtensions.xml.
- Leta upp elementet UserJourneys . Om det inte finns någon lägger du till en.
- Klistra in elementinnehållet UserJourney som underordnat elementet UserJourneys.]
- Byt namn på användarresans ID. Till exempel
Id=AsignioSUSI
.
Läs mer: Användarresor
Lägga till identitetsprovidern i en användarresa
Lägg till den nya identitetsprovidern i användarresan.
- Hitta orkestreringsstegelementet som innehåller
Type=CombinedSignInAndSignUp
, ellerType=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. - Lägg till xml-elementet ClaimsProviderSelection .
- Ange värdet för TargetClaimsExchangeId till ett eget namn.
- Lägg till ett ClaimsExchange-element .
- Ange ID :t till värdet för målanspråkets utbytes-ID.
- Uppdatera värdet för TechnicalProfileReferenceId till ID:t för den tekniska profil som du skapade.
Följande XML visar orkestrering av användarresa 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 principen för förlitande part
Principen för förlitande part, till exempel SignUpSignIn.xml, anger användarresan Azure AD B2C körs.
- Leta upp elementet DefaultUserJourney i den förlitande parten.
- Uppdatera ReferenceId så att det matchar användarresans ID, där du har lagt till identitetsprovidern.
I följande exempel AsignioSUSI
för användarresan är ReferenceId inställt AsignioSUSI
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 principen
- Logga in på Azure-portalen.
- I portalverktygsfältet väljer du Kataloger + prenumerationer.
- I portalinställningar | Kataloger + prenumerationer letar upp din Azure AD B2C-katalog i listan Katalognamn.
- Välj Växla.
- I Azure Portal söker du efter och väljer Azure AD B2C.
- Under Principer väljer du Identity Experience Framework.
- Välj Överför anpassad princip.
- Ladda upp de två principfilerna som du ändrade i följande ordning:
- Tilläggsprincip, till exempel
TrustFrameworkExtensions.xml
- Princip för förlitande part, till exempel
SignUpOrSignin.xml
Testa din anpassade princip
- I din Azure AD B2C-klientorganisation och under Principer väljer du Identity Experience Framework.
- Under Anpassade principer väljer du AsignioSUSI.
- För Program väljer du det webbprogram som du registrerade.
Svars-URL:en är
https://jwt.ms
. - Välj Kör nu.
- Webbläsaren omdirigeras till inloggningssidan för Asignio.
- En inloggningsskärm visas.
- Längst ned väljer du Asignio-autentisering .
Om du har en Asignio-signatur uppmanas du att autentisera med din Asignio-signatur. Annars anger du enhetens telefonnummer för att autentisera via SMS OTP. Använd länken för att registrera din Asignio-signatur.
- Webbläsaren omdirigeras till
https://jwt.ms
. Tokeninnehållet som returneras av Azure AD B2C visas.