Руководство по настройке Jumio для работы с Azure Active Directory B2C
В этом руководстве описано, как интегрировать Azure Active Directory B2C (Azure AD B2C) с Jumio, службой проверки идентификации, которая обеспечивает автоматическую проверку идентификаторов в режиме реального времени для защиты данных клиентов.
Предварительные требования
Чтобы приступить к работе, вам потребуется:
Подписка Azure
- Если у вас ее нет, получите бесплатную учетную запись Azure.
- Клиент Azure AD B2C, связанный с вашей подпиской Azure.
Описание сценария
Интеграция с Jumio предусматривает перечисленные ниже компоненты.
- Azure AD B2C — сервер авторизации, который проверяет учетные данные пользователя, также известный как поставщик удостоверений (IdP).
- Jumio — проверка сведений об идентификаторе пользователя
- Промежуточный REST API — используйте его для реализации интеграции Azure AD B2C и Jumio
- Хранилище BLOB-объектов Azure — используйте его для получения пользовательских файлов пользовательского интерфейса для Azure AD политик B2C
Принцип работы системы показан на схеме архитектуры ниже.
- Пользователь входит в систему или регистрируется и создает учетную запись. Azure Active Directory B2C собирает атрибуты пользователя.
- Azure AD B2C вызывает API среднего уровня и передает атрибуты пользователя.
- API среднего уровня преобразует пользовательские атрибуты в формат API Jumio и отправляет атрибуты в Jumio.
- Jumio обрабатывает атрибуты и возвращает результаты в API среднего уровня.
- API среднего уровня обрабатывает результаты и отправляет соответствующую информацию в Azure AD B2C.
- Azure AD B2C получает информацию. Если ответ завершается сбоем, появляется сообщение об ошибке. Если ответ выполнен успешно, пользователь проходит проверку подлинности и записывается в каталог.
Создание учетной записи Jumio
Чтобы создать учетную запись Jumio, перейдите на страницу контактов jumio.com.
Настройка Azure AD B2C для работы с Jumio
После создания учетной записи Jumio используйте ее для настройки Azure AD B2C.
Развертывание API
Разверните код в службе Azure из samples/Jumio/API/Jumio.Api/. Вы можете опубликовать код из Visual Studio.
Примечание
Чтобы настроить идентификатор Microsoft Entra, потребуется URL-адрес развернутой службы.
Развертывание сертификата клиента
Сертификат клиента помогает защитить вызов API Jumio.
Создайте самозаверяющий сертификат с помощью приведенного ниже примера кода PowerShell.
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Demo-SigningCertificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -NotAfter (Get-Date).AddYears(2) -CertStoreLocation "Cert:\CurrentUser\My" $cert.Thumbprint $pwdText = "Your password" $pwd = ConvertTo-SecureString -String $pwdText -Force -AsPlainText Export-PfxCertificate -Cert $Cert -FilePath "{your-local-path}\Demo-SigningCertificate.pfx" -Password $pwd.
Сертификат экспортируется в расположение, указанное для
{your-local-path}
.Сведения об импорте сертификата в Служба приложений Azure см. в разделе Отправка закрытого сертификата.
Создание ключа подписывания или шифрования
Создайте случайную строку длиной более 64 символов (только буквы и цифры).
Например:
C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65
.Создать такую строку можно с помощью приведенного ниже сценария PowerShell.
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
Настройка API
Вы можете настроить параметры приложения в Служба приложений Azure, не проверяя их в репозитории. Для REST API необходимо указать перечисленные ниже параметры:
Параметры приложений | Источник | Примечания |
---|---|---|
JumioSettings:AuthUsername | Конфигурация учетной записи Jumio | Н/Д |
JumioSettings:AuthPassword | Конфигурация учетной записи Jumio | Н/Д |
AppSettings:SigningCertThumbprint | Отпечаток созданного самозаверяющего сертификата | Н/Д |
AppSettings:IdTokenSigningKey | Ключ подписывания, созданный с помощью PowerShell | Н/Д |
AppSettings:IdTokenEncryptionKey | Ключ шифрования, созданный с помощью PowerShell | Н/Д |
AppSettings:IdTokenIssuer | Издатель маркера JWT (предпочтительнее использовать значение GUID) | Н/Д |
AppSettings:IdTokenAudience | Аудитория для токена JWT (предпочтительнее значение GUID) | Н/Д |
AppSettings:BaseRedirectUrl | базовый URL-адрес политики Azure AD B2C | https://{имя клиента}.b2clogin.com/{идентификатор приложения} |
WEBSITE_LOAD_CERTIFICATES | Отпечаток созданного самозаверяющего сертификата | Н/Д |
Развертывание пользовательского интерфейса
- Настройте контейнер хранилища BLOB-объектов в своей учетной записи хранения.
- Сохраните файлы пользовательского интерфейса из /samples/Jumio/UI/ в контейнере больших двоичных объектов.
Изменение файлов пользовательского интерфейса
- В файлах пользовательского интерфейса перейдите в раздел /samples/Jumio/UI/ocean_blue/.
- Откройте каждый HTML-файл.
- Найдите и замените
{your-ui-blob-container-url}
URL-адресом контейнера BLOB-объектов. - Найдите и замените
{your-intermediate-api-url}
промежуточным URL-адресом службы приложения API.
Примечание
Мы рекомендуем добавить уведомление о согласии на странице коллекции атрибутов. Уведомляйте пользователей о том, что информация передается сторонним службам для проверки удостоверений.
Настройка политики Azure Active Directory B2C
- Перейдите к Azure AD политике B2C в разделе /samples/Jumio/Policies/.
- Чтобы скачать начальный пакет LocalAccounts, воспользуйтесь инструкциями в разделе Начальный пакет настраиваемой политики.
- Настройте политику для клиента Azure Active Directory B2C.
Примечание
Обновите политики для связи с клиентом.
Тестирование потока пользователя
- Откройте клиент Azure AD B2C.
- В разделе Политики выберите Identity Experience Framework.
- Выберите созданный SignUpSignIn.
- Выберите Выполнить поток пользователя.
- В поле Приложение выберите зарегистрированное приложение (например, JWT).
- URL-адрес ответа: выберите URL-адрес перенаправления.
- Выберите Выполнить поток пользователя.
- Завершите процесс регистрации.
- Создайте учетную запись.
- После создания атрибута пользователя вызывается Jumio.
Совет
Если поток не завершен, убедитесь, что пользователь сохранен в каталоге .