Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Dowiedz się, jak zintegrować uwierzytelnianie usługi Azure Active Directory B2C (Azure AD B2C) z technologią BioCatch w celu zwiększenia poziomu zabezpieczeń zarządzania tożsamościami i dostępem klienta (CIAM). Produkty BioCatch analizują zachowania fizyczne i poznawcze użytkowników w celu uzyskania szczegółowych informacji, które pomagają odróżnić uzasadnionych klientów.
Przejdź do biocatch.com, aby dowiedzieć się więcej o usłudze BioCatch
Wymagania wstępne
Aby rozpocząć pracę, potrzebne są następujące elementy:
- Subskrypcja platformy Azure
- Jeśli go nie masz, uzyskaj bezpłatne konto platformy Azure
- Dzierżawca usługi Azure AD B2C połączony z subskrypcją platformy Azure
- Przejdź do strony biocatch.com Skontaktuj się z nami , aby zażądać konta
- Wzmianka o integracji usługi Azure AD B2C
Opis scenariusza
Integracja z usługą BioCatch obejmuje następujące składniki:
-
Aplikacja internetowa lub usługa internetowa — użytkownicy przechodzą do tej usługi internetowej, która ustanawia unikatowy identyfikator sesji klienta przesyłany do BioCatch
- Identyfikator sesji przesyła cechy zachowania użytkownika do usługi BioCatch
- Metoda — wysyła identyfikator sesji do usługi Azure AD B2C. W tym przykładzie język JavaScript wprowadza wartość w ukrytym polu HTML.
- Dostosowany interfejs użytkownika usługi Azure AD B2C — ukrywa pole HTML dla danych wejściowych identyfikatora sesji z języka JavaScript
-
Niestandardowe zasady usługi Azure AD B2C:
- Pobiera identyfikator sesji jako oświadczenie za pośrednictwem samopotwierdzającego profilu technicznego
- Integruje się z BioCatch poprzez dostawcę danych API REST i przekazuje identyfikator sesji do BioCatch.
- Wiele niestandardowych oświadczeń zwracanych przez BioCatch dla logiki polityk niestandardowych
- Scenariusz użytkownika ocenia zwrot roszczenia i wykonuje działanie warunkowe, takie jak uwierzytelnianie wieloskładnikowe
Więcej informacji:
- Omówienie zasad niestandardowych usługi Azure AD B2C
- Samouczek: tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure AD B2C
Na poniższym diagramie przedstawiono przepływy użytkowników z informacjami o sesji.
- Użytkownik przechodzi do usługi internetowej, która zwraca wartości HTML, CSS lub JavaScript, a następnie ładuje zestaw SDK języka JavaScript usługi BioCatch. Język JavaScript po stronie klienta konfiguruje identyfikator sesji klienta dla zestawu BIOCatch SDK. Alternatywnie usługa internetowa wstępnie konfiguruje identyfikator sesji klienta i wysyła ją do klienta. Możesz skonfigurować zainicjowany zestaw SDK JavaScript dla BioCatch, który wysyła dane o zachowaniu użytkownika do BioCatch z urządzenia klienckiego za pomocą identyfikatora sesji klienta.
- Użytkownik rejestruje się lub loguje i jest przekierowywany do usługi Azure AD B2C.
- Ścieżka użytkownika obejmuje dostawcę oświadczeń samopotwierdzających, który wprowadza identyfikator sesji klienta. To pole jest ukryte. Użyj języka JavaScript, aby wprowadzić identyfikator sesji w polu. Wybierz pozycję Dalej, aby kontynuować rejestrację lub logowanie. Identyfikator sesji jest kierowany do usługi BioCatch w celu uzyskania oceny ryzyka. Usługa BioCatch zwraca informacje o sesji i zaleca zezwalanie lub blokowanie. Ścieżka użytkownika zawiera kontrolę warunkową, która działa na podstawie zwróconych roszczeń.
- Na podstawie wyniku sprawdzania warunkowego wywoływana jest akcja.
- Usługa internetowa może używać identyfikatora sesji do wysyłania zapytań do interfejsu API usługi BioCatch w celu określenia informacji o ryzyku i sesji.
Wprowadzenie do usługi BioCatch
Przejdź do strony biocatch.com Skontaktuj się z nami , aby zainicjować konto.
Konfigurowanie niestandardowego interfejsu użytkownika
Zalecamy ukrycie pola "Identyfikator sesji klienta" za pomocą CSS, JavaScript lub innej metody. Na potrzeby testowania odkryj pole. Na przykład język JavaScript ukrywa pole wejściowe jako:
document.getElementById("clientSessionId").style.display = 'none';
Konfigurowanie zasad platformy Azure AD B2C Identity Experience Framework
Aby rozpocząć, zobacz Samouczek: tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure AD B2C.
Utwórz nowy plik dziedziczony z pliku rozszerzeń.
<BasePolicy> <TenantId>tenant.onmicrosoft.com</TenantId> <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId> </BasePolicy>Utwórz odwołanie do niestandardowego interfejsu użytkownika, aby ukryć pole wejściowe w obszarze zasobu BuildingBlocks.
<ContentDefinitions> <ContentDefinition Id="api.selfasserted"> <LoadUri>https://domain.com/path/to/selfAsserted.cshtml</LoadUri> <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri> </ContentDefinition> </ContentDefinitions>W obszarze zasobu BuildingBlocks dodaj następujące oświadczenia.
<ClaimsSchema> <ClaimType Id="riskLevel"> <DisplayName>Session risk level</DisplayName> <DataType>string</DataType> </ClaimType> <ClaimType Id="score"> <DisplayName>Session risk score</DisplayName> <DataType>int</DataType> </ClaimType> <ClaimType Id="clientSessionId"> <DisplayName>The ID of the client session</DisplayName> <DataType>string</DataType> <UserInputType>TextBox</UserInputType> </ClaimType> </ClaimsSchema>Skonfiguruj dostawcę oświadczeń samopotwierdzającego dla pola Identyfikatora sesji klienta.
<ClaimsProvider> <DisplayName>Client Session ID Claims Provider</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="login-NonInteractive-clientSessionId"> <DisplayName>Client Session ID TP</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> </Metadata> <CryptographicKeys> <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" /> </CryptographicKeys> <!—Claim we created earlier --> <OutputClaims> <OutputClaim ClaimTypeReferenceId="clientSessionId" Required="false" DefaultValue="100"/> </OutputClaims> <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>Konfiguruj dostawcę roszczeń interfejsu API REST dla BioCatch.
<TechnicalProfile Id="BioCatch-API-GETSCORE"> <DisplayName>Technical profile for BioCatch API to return session information</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ServiceUrl">https://biocatch-url.com/api/v6/score?customerID=<customerid>&action=getScore&uuid=<uuid>&customerSessionID={clientSessionId}&solution=ATO&activtyType=<activity_type>&brand=<brand></Item> <Item Key="SendClaimsIn">Url</Item> <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> <!-- Set AuthenticationType to Basic or ClientCertificate in production environments --> <Item Key="AuthenticationType">None</Item> <!-- REMOVE the following line in production environments --> <Item Key="AllowInsecureAuthInProduction">true</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="clientsessionId" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="riskLevel" /> <OutputClaim ClaimTypeReferenceId="score" /> </OutputClaims> <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" /> </TechnicalProfile> </TechnicalProfiles>Uwaga / Notatka
Aplikacja BioCatch udostępnia adres URL, identyfikator klienta i unikatowy identyfikator użytkownika (UUID). Twierdzenie SessionID klienta jest przekazywane jako parametr zapytania do usługi BioCatch. Możesz wybrać typ działania, na przykład MAKE_PAYMENT.
Skonfiguruj podróż użytkownika przy użyciu następującego przykładu:
- Pobierz clientSessionID jako oświadczenie.
- Wywołaj interfejs API aplikacji BioCatch, aby uzyskać informacje o sesji.
- Jeśli zwrócone ryzyko dotyczące roszczeń jest niskie, pomiń krok uwierzytelniania wieloskładnikowego, w przeciwnym razie wymuś je dla użytkownika.
<OrchestrationStep Order="8" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="clientSessionIdInput" TechnicalProfileReferenceId="login-NonInteractive-clientSessionId" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="9" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="BcGetScore" TechnicalProfileReferenceId=" BioCatch-API-GETSCORE" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="10" Type="ClaimsExchange"> <Preconditions> <Precondition Type="ClaimEquals" ExecuteActionsIf="true"> <Value>riskLevel</Value> <Value>LOW</Value> <Action>SkipThisOrchestrationStep</Action> </Precondition> </Preconditions> <ClaimsExchanges> <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" /> </ClaimsExchanges>Skonfiguruj stronę ufającą (opcjonalnie). Informacje zwracane przez BioCatch można przekazać do Twojej aplikacji jako oświadczenia w tokenie: poziom ryzyka i ocena.
<RelyingParty> <DefaultUserJourney ReferenceId="SignUpOrSignInMfa" /> <UserJourneyBehaviors> <SingleSignOn Scope="Tenant" KeepAliveInDays="30" /> <SessionExpiryType>Absolute</SessionExpiryType> <SessionExpiryInSeconds>1200</SessionExpiryInSeconds> <ScriptExecution>Allow</ScriptExecution> </UserJourneyBehaviors> <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="riskLevel" /> <OutputClaim ClaimTypeReferenceId="score" /> <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" /> </OutputClaims> <SubjectNamingInfo ClaimType="sub" /> </TechnicalProfile> </RelyingParty>
Integracja z usługą Azure AD B2C
Dodaj pliki zasad do usługi Azure AD B2C. Aby uzyskać poniższe instrukcje, użyj katalogu z dzierżawą usługi Azure AD B2C.
- Zaloguj się do portalu Azure jako co najmniej administrator zasad IEF B2C dzierżawy usługi Azure AD B2C.
- Na pasku narzędzi portalu wybierz pozycję Katalogi i subskrypcje.
- Na stronie Ustawienia portalu katalogi i subskrypcje na liście Nazwa katalogu znajdź katalog usługi Azure AD B2C.
- Wybierz opcję Przełącz.
- W lewym górnym rogu witryny Azure Portal wybierz pozycję Wszystkie usługi.
- Wyszukaj i wybierz Azure AD B2C.
- Przejdź do witryny Azure AD B2C>Identity Experience Framework.
- Prześlij pliki zasad do klienta.
Testowanie rozwiązania
Aby uzyskać następujące instrukcje, zobacz Samouczek: rejestrowanie aplikacji internetowej w usłudze Azure Active Directory B2C
Zarejestruj fikcyjną aplikację, która przekierowuje do JWT.MS.
W obszarze Identity Experience Framework wybierz utworzone zasady.
W oknie zasad wybierz fikcyjną aplikację JWT.MS
Wybierz pozycję Uruchom teraz.
Wykonaj proces rejestracji i utwórz konto.
Token zwrócony do JWT.MS ma podwójne oświadczenie dotycząc riskLevel i score.
Użyj poniższego przykładu.
{ "typ": "JWT", "alg": "RS256", "kid": "_keyid" }.{ "exp": 1615872580, "nbf": 1615868980, "ver": "1.0", "iss": "https://tenant.b2clogin.com/12345678-1234-1234-1234-123456789012/v2.0/", "sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "aud": "00001111-aaaa-2222-bbbb-3333cccc4444", "acr": "b2c_1a_signup_signin_biocatch_policy", "nonce": "defaultNonce", "iat": 1615868980, "auth_time": 1615868980, "name": "John Smith", "email": "john.smith@contoso.com", "given_name": "John", "family_name": "Smith", "riskLevel": "LOW", "score": 275, "tid": "bbbbcccc-1111-dddd-2222-eeee3333ffff" }.[Signature]