Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
Ett Azure-abonnemang.
Om du inte har ett, skaffa ett kostnadsfritt Azure-konto
En Azure AD B2C-klient som är länkad till Azure-prenumerationen
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.
- Användaren öppnar azure AD B2C-inloggningssidan i sin mobil- eller webbapp och loggar sedan in eller registrerar sig.
- Azure AD B2C omdirigerar användaren till Asignio med en OIDC-begäran (OpenID Connect).
- 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.
- Användaren autentiserar med Asignio Signature och ansiktsverifiering, eller röst- och ansiktsverifiering.
- Utmaningssvaret går till Asignio.
- Asignio returnerar OIDC-svaret till Azure AD B2C-inloggningen.
- 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 görs via webbplatsen Asignio Partner Administration.
- Om du vill begära åtkomst för din organisation går du till sidan asignio.com Asignio Partneradministration .
- Logga in på Asignio Partner Administration med autentiseringsuppgifter.
- 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.
- På webbplatsen Asignio Partner Administration genererar du ett klient-ID och en klienthemlighet.
- Anteckna och lagra klient-ID och klienthemlighet. Du använder 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 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.
- Logga in på Azure-portalen som minst B2C IEF-policysadministratör för Azure AD B2C-klientorganisationen.
- I verktygsfältet i Azure-portalen väljer du Kataloger + prenumerationer.
- På portalinställningar | Kataloger + prenumerationer letar upp din Microsoft Entra-katalog i listan Katalognamn .
- Välj Växla.
- I det övre vänstra hörnet i Azure-portalen 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.
- Som 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åga.
- 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.
- Som Visningsnamn använder du namn.
- Använd given_name för Förnamn.
- Använd family_name som efternamn.
- För Email använder du e-post.
- Välj Spara.
Skapa en användarflödesprincip
- I din Azure AD B2C-klient väljer du Användarflöden under Principer.
- 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 väljer du Ingen för Lokala konton. Den här åtgärden inaktiverar e-post- och lösenordsautentisering.
- För Anpassade identitetsprovidrar väljer du den skapade Asignio-identitetsprovidern.
- 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älja Kör användarflödet.
- 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 portalens verktygsfält väljer du Kataloger + prenumerationer.
- På 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-portalen 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/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:
Ladda ned zip active-directory-b2c-custom-policy-starterpack eller klona lagringsplatsen:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpackI filerna i katalogen LocalAccounts ersätter du strängen
yourtenantmed Azure AD B2C-klientnamnet.Ö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">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>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ägg 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ändares resa:
- Ö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 innehållet i UserJourney-elementet som ett underordnat element till UserJourneys-elementet.
- 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.
- Leta reda på orkestreringsstegelementet som innehåller
Type=CombinedSignInAndSignUp, ellerType=ClaimsProviderSelectioni 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. - Lägg till ett ClaimsProviderSelection XML-element.
- Ange värdet TargetClaimsExchangeId till ett lämpligt namn.
- Lägg till ett ClaimsExchange-element .
- Ange ID:t till värdet för målanspråkens 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ä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.
- Leta upp elementet DefaultUserJourney i den förlitande parten.
- 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
- Logga in på Azure-portalen.
- I portalens verktygsfält väljer du Kataloger + prenumerationer.
- På 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 Ladda upp anpassad policy.
- 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
- 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. 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.