Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Узнайте, как интегрировать проверку подлинности Azure Active Directory B2C (Azure AD B2C) с технологией BioCatch, чтобы расширить состояние безопасности управления удостоверениями клиентов и доступом (CIAM). Продукты BioCatch анализируют физическое и когнитивное цифровое поведение пользователей для аналитических сведений, которые помогают отличить законных клиентов.
Перейдите на biocatch.com, чтобы узнать больше о BioCatch
Предпосылки
Чтобы начать, вам нужно:
- Подписка Azure
- Если у вас нет учетной записи Azure, получите бесплатную учетную запись Azure.
- Клиент Azure AD B2C, связанный с подпиской Azure
- Перейдите на страницу biocatch.com свяжитесь с нами , чтобы запросить учетную запись
- Упомянуть интеграцию Azure AD B2C
Описание сценария
Интеграция BioCatch включает следующие компоненты:
-
Веб-приложение или веб-служба — пользователи переходят на эту веб-службу, которая создает уникальный идентификатор сеанса клиента, отправляемый в BioCatch.
- Идентификатор сеанса передает характеристики поведения пользователя в BioCatch
- Метод — отправляет идентификатор сеанса в Azure AD B2C. В примере JavaScript вводит значение в скрытое поле HTML.
- Настраиваемый пользовательский интерфейс Azure AD B2C — скрывает поле HTML для ввода идентификатора сеанса из JavaScript
-
Настраиваемая политика Azure AD B2C:
- Принимает идентификатор сеанса в качестве утверждения через самоутверждаемый технический профиль
- Интегрируется с BioCatch через поставщика утверждений REST API и передает идентификатор сеанса в BioCatch
- Несколько пользовательских утверждений, возвращаемых из BioCatch для пользовательской логики политики
- Пользовательский сценарий оценивает возвратное требование и выполняет условное действие, такое как многофакторная аутентификация.
Подробнее:
- Обзор настраиваемой политики Azure AD B2C
- Руководство по созданию потоков пользователей и пользовательских политик в Azure AD B2C
На следующей схеме показаны потоки пользователей с сведениями о сеансе.
- Пользователь переходит к веб-службе, которая возвращает значения HTML, CSS или JavaScript, а затем загружает BioCatch JavaScript SDK. JavaScript на стороне клиента настраивает идентификатор сеанса клиента для пакета SDK BioCatch. Кроме того, веб-служба предварительно настраивает идентификатор сеанса клиента и отправляет его клиенту. Вы можете настроить инициализированный BioCatch JavaScript SDK, который отправляет данные о поведении пользователя в BioCatch с клиентского устройства, используя идентификатор сеанса клиента.
- Пользователь регистрируется или входит в систему и перенаправляется в Azure AD B2C.
- Путь пользователя включает самозаявленного поставщика утверждений, который вводит идентификатор сеанса клиента. Это поле скрыто. Используйте JavaScript для ввода идентификатора сеанса в поле. Нажмите кнопку "Далее", чтобы продолжить регистрацию или вход. Идентификатор сеанса отправляется в BioCatch для оценки уровня риска. BioCatch возвращает сведения о сеансе и рекомендует разрешить или блокировать. Путешествие пользователя имеет условный контроль, который действует по возвращенным утверждениям.
- В зависимости от результата условной проверки вызывается действие.
- Веб-служба может использовать идентификатор сеанса для обращения к API BioCatch, чтобы определить информацию о рисках и сеансах.
Начало работы с BioCatch
Перейдите на страницу biocatch.com свяжитесь с нами , чтобы инициировать учетную запись.
Настройка пользовательского интерфейса
Мы рекомендуем скрыть поле идентификатора сеанса клиента с помощью CSS, JavaScript или другого метода. Для тестирования отобразите поле. Например, JavaScript скрывает поле ввода следующим образом:
document.getElementById("clientSessionId").style.display = 'none';
Настройка политик Azure AD B2C Identity Experience Framework
Сведения о начале работы см. в руководстве по созданию потоков пользователей и пользовательских политик в Azure AD B2C.
Создайте новый файл, наследующий от файла расширений.
<BasePolicy> <TenantId>tenant.onmicrosoft.com</TenantId> <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId> </BasePolicy>Создайте ссылку на пользовательский интерфейс, чтобы скрыть поле ввода в ресурсе 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>В ресурсе BuildingBlocks добавьте следующие утверждения.
<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>Настройте самозаверяющегося поставщика утверждений для поля идентификатора сеанса клиента.
<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>Настройте поставщик утверждений REST API для 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>Замечание
BioCatch предоставляет URL-адрес, идентификатор клиента и уникальный идентификатор пользователя (UUID). Утверждение SessionID клиента передается в качестве параметра строки запроса в BioCatch. Можно выбрать тип действия, например MAKE_PAYMENT.
Настройте путешествие пользователя с помощью следующего примера:
- Получите clientSessionID в качестве утверждения.
- Вызов API BioCatch для получения сведений о сеансе.
- Если возвращаемый риск утверждения низкий, пропустите шаг для MFA, в противном случае примените MFA пользователя.
<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>Настройка доверяющейся стороны (необязательно). Вы можете передать возвращённую информацию BioCatch в приложение в виде утверждений в токене: «risklevel» и «score».
<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>
Интеграция с Azure AD B2C
Добавьте файлы политики в Azure AD B2C. Для выполнения следующих инструкций используйте каталог с клиентом Azure AD B2C.
- Войдите на портал Azure как минимум администратор политики IEF B2C клиента Azure AD B2C.
- На панели инструментов портала выберите каталоги и подписки.
- На странице "Параметры портала" "Каталоги и подписки " в списке имен каталога найдите каталог Azure AD B2C.
- Выберите Переключиться.
- В левом верхнем углу портала Azure выберите все службы.
- Найдите и выберите Azure AD B2C.
- Перейдите в Azure AD B2C>Identity Experience Framework.
- Отправьте файлы политики в клиент.
Тестирование решения
Следующие инструкции см. в руководстве. Регистрация веб-приложения в Azure Active Directory B2C
Зарегистрируйте фиктивное приложение, которое перенаправляется на JWT.MS.
В разделе Identity Experience Framework выберите созданную политику.
В окне политики выберите фиктивное приложение JWT.MS
Выберите запуск сейчас.
Выполните порядок регистрации и создайте учетную запись.
Маркер, возвращаемый в JWT.MS, имеет два заявления для уровня риска и оценки.
Используйте следующий пример.
{ "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]