Руководство по настройке IDEMIA Mobile ID с помощью Azure Active Directory B2C
Подготовка к работе
Azure Active Directory B2C (Azure AD B2C) имеет два метода определения взаимодействия пользователей с приложениями: предопределенные потоки пользователей или настраиваемые настраиваемые политики. См. общие сведения о потоках пользователей и пользовательских политиках.
Интеграция Azure AD B2C с IDEMIA Mobile ID
IDEMIA предоставляет службы биометрической проверки подлинности, такие как идентификация лица и отпечатки пальцев, что снижает вероятность мошенничества и повторного использования учетных данных. Благодаря мобильному идентификатору граждане пользуются доверенным цифровым удостоверением, выданным правительством, в качестве дополнения к их физическому идентификатору. Mobile ID проверяет удостоверение с помощью самостоятельно выбранного ПИН-кода, сенсорного идентификатора или идентификатора лица. Граждане управляют своими удостоверениями, обмениваясь информацией, необходимой для транзакции. Многие государственные департаменты автомобильных транспортных средств (DMV) используют Mobile ID.
Дополнительные сведения см. в idemia.com: IDEMIA.
Описание сценария
Интеграция с мобильными идентификаторами включает следующие компоненты:
-
Azure AD B2C — сервер авторизации, который проверяет учетные данные пользователя.
- Он также называется поставщиком удостоверений (IdP)
- IDEMIA Mobile ID — поставщик OpenID Connect (OIDC), настроенный как внешний поставщик Azure AD B2C
- Приложение IDEMIA Mobile ID — цифровая версия водительских прав или идентификатора, выданного государством, в приложении на телефоне
Mobile ID — это цифровой документ идентификации, переносимый маркер мобильного удостоверения, который динамические административные административные представления используют для проверки отдельных удостоверений. Подписанный цифровой идентификатор хранится на мобильных телефонах пользователей в качестве удостоверения на границе. Подписанные учетные данные упрощают доступ к службам идентификации, таким как подтверждение возраста, финансовое знание клиента, доступ к учетной записи и т. д.
На следующей схеме показаны потоки пользователей регистрации и входа с помощью мобильного идентификатора.
- Пользователь посещает страницу входа Azure AD B2C (ответит сторона) со своим устройством и мобильным идентификатором, чтобы выполнить транзакцию.
- Azure AD B2C выполняет проверка идентификатора. Он перенаправляет пользователя на маршрутизатор IDEMIA с потоком кода авторизации OIDC.
- Маршрутизатор отправляет биометрический запрос в мобильное приложение пользователя с сведениями о проверке подлинности и запросе на авторизацию.
- В зависимости от безопасности пользователю может быть предложено указать дополнительные сведения: ввести ПИН-код, сделать динамическое селфи или и то, и другое.
- Ответ проверки подлинности предоставляет подтверждение владения, присутствия и согласия. Ответ возвращается маршрутизатору.
- Маршрутизатор проверяет сведения о пользователе и отвечает на Azure AD B2C с результатом.
- Пользователю предоставляется или запрещается доступ.
Включение мобильного идентификатора
Чтобы приступить к работе, перейдите на idemia.com страницу "Связаться ", чтобы запросить демонстрацию. В текстовом поле формы запроса укажите свою заинтересованность в интеграции Azure AD B2C.
Интеграция Mobile ID с Azure AD B2C
Используйте следующие разделы для подготовки и выполнения процессов интеграции.
Предварительные требования
Для начала работы необходимы перечисленные ниже компоненты и данные.
Доступ к пользователям с idEMIA, выданные государством США учетные данные мобильного идентификатора (mID)
- Или на этапе тестирования демонстрационное приложение mID от IDEMIA
Подписка Azure
- Если у вас ее нет, получите бесплатную учетную запись Azure.
Клиент Azure AD B2C, связанный с подпиской Azure.
Бизнес-приложение, зарегистрированное в клиенте B2C Azure AD
- Для тестирования настройте https://jwt.msвеб-приложение Майкрософт с декодированным содержимым маркера.
Примечание
Содержимое маркера не покидает браузер.
Отправка приложения проверяющей стороны для mID
Во время интеграции с мобильным идентификатором предоставляются следующие сведения.
Свойство | Описание |
---|---|
Имя приложения | Azure AD B2C или другое имя приложения |
Client_ID | Уникальный идентификатор поставщика удостоверений (IdP) |
Секрет клиента | Пароль, который приложение проверяющей стороны использует для проверки подлинности с помощью IDP IDEMIA |
Конечная точка метаданных | URL-адрес, указывающий на документ конфигурации издателя маркера, также известный как конечная точка конфигурации OpenID. |
URI перенаправления | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp Например: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp Если вы используете личный домен, введите https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp . |
URI перенаправления после выхода | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout Отправка запроса на выход. |
Примечание
Идентификатор клиента и секрет клиента понадобятся позже для настройки поставщика удостоверений в Azure AD B2C.
Создание ключа политики
Сохраните секрет клиента IDEMIA в клиенте Azure AD B2C. Для выполнения следующих инструкций используйте каталог с клиентом Azure AD B2C.
- Войдите на портал Azure.
- На панели инструментов портала выберите Каталоги и подписки.
- На странице Параметры портала Каталоги и подписки в списке Имя каталога найдите каталог Azure AD B2C.
- Выберите Переключиться.
- В левом верхнем углу портал Azure выберите Все службы.
- Найдите и выберите Azure AD B2C.
- На странице Обзор выберите Identity Experience Framework.
- Выберите Ключи политики.
- Выберите Добавить.
- Для пункта Параметры выберите Вручную.
- Введите имя ключа политики. Например,
IdemiaAppSecret
. ПрефиксB2C_1A_
добавляется к имени ключа. - В поле Секрет введите секрет клиента, который вы записали.
- Чтобы использовать параметр Ключ, выберите Подпись.
- Нажмите кнопку создания.
Настройка мобильного идентификатора в качестве внешнего поставщика удостоверений
Чтобы пользователи могли выполнять вход с помощью мобильного идентификатора, определите IDEMIA в качестве поставщика утверждений. Это действие гарантирует, что Azure AD B2C взаимодействует через конечную точку, которая предоставляет утверждения, Azure AD B2C использует для проверки подлинности пользователя с помощью биометрии.
Чтобы определить IDEMIA в качестве поставщика утверждений, добавьте его в элемент ClaimsProvider в файле расширения политики.
<TechnicalProfile Id="Idemia-Oauth2">
<DisplayName>IDEMIA</DisplayName>
<Description>Login with your IDEMIA identity</Description>
<Protocol Name="OAuth2" />
<Metadata>
<Item Key="METADATA">https://idp.XXXX.net/oxauth/.well-known/openid-configuration</Item>
<!-- Update the Client ID below to the Application ID -->
<Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
<Item Key="response_types">code</Item>
<Item Key="scope">openid id_basic mt_scope</Item>
<Item Key="response_mode">form_post</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>
<Item Key="ClaimsEndpoint">https://idp.XXXX.net/oxauth/restv1/userinfo</Item>
<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
</Metadata>
<CryptographicKeys>
<Key Id="client_secret" StorageReferenceId="B2C_1A_IdemiaAppSecret" />
</CryptographicKeys>
<InputClaims>
<InputClaim ClaimTypeReferenceId="acr" PartnerClaimType="acr_values" DefaultValue="loa-2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
<OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" />
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName1" />
<OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="lastName1" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="idemia" />
<OutputClaim ClaimTypeReferenceId="documentId" />
<OutputClaim ClaimTypeReferenceId="address1" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
<OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
<OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
<OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
</TechnicalProfile>
Задайте для параметра client_id значение идентификатора приложения из регистрации приложения.
Свойство | Описание |
---|---|
Область | Для OpenID Connect (OIDC) минимальное требование устанавливается область параметру openid. Добавление дополнительных областей в список с разделителями пробелами. |
redirect_uri | В этом расположении агент пользователя отправляет код авторизации в Azure AD B2C. |
response_type | Для потока кода авторизации выберите код. |
acr_values | Этот параметр управляет методами проверки подлинности, которые пользователь должен выполнять во время проверки подлинности. |
Выберите одно из следующих значений.
Значение параметра | Влияние на процесс проверки подлинности пользователя |
---|---|
loa-2 |
Только многофакторная проверка подлинности на основе шифрования Microsoft Entra |
loa-3 |
MFA на основе шифрования, а также еще один фактор |
loa-4 |
MFA на основе шифрования, а также пользователь выполняет ПИН-код и биометрическую проверку подлинности |
Конечная точка /userinfo предоставляет утверждения для областей из запроса авторизации. <Для mt_scope> есть такие утверждения, как имя, фамилия и номер водительского удостоверения, среди прочего. Набор утверждений для область публикуется в разделе scope_to_claims_mapping API обнаружения. Azure AD B2C запрашивает утверждения из конечной точки утверждений и возвращает их в элементе OutputClaims. Может потребоваться сопоставить имя утверждения в политике с именем в поставщике удостоверений. Определите тип утверждения в элементе ClaimSchema:
<ClaimType Id="documentId">
<DisplayName>documentId</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="address1">
<DisplayName>address</DisplayName>
<DataType>string</DataType>
</ClaimType>
Добавление пути взаимодействия пользователя
Для выполнения этих инструкций поставщик удостоверений настроен, но он не находится на странице входа. Если у вас нет пользовательского пути взаимодействия пользователя, скопируйте шаблон пути взаимодействия пользователя.
- Откройте файл в начальном пакете
TrustFrameworkBase.xml
. - Найдите и скопируйте содержимое
UserJourneys
элемента , в том числеID=SignUpOrSignIn
. - Откройте
TrustFrameworkExtensions.xml
. - Найдите элемент UserJourneys . Если элемента нет, добавьте его.
- Вставьте содержимое элемента UserJourney в качестве дочернего элемента элемента UserJourneys.
- Переименуйте идентификатор пути взаимодействия пользователя. Например,
ID=CustomSignUpSignIn
.
Добавление поставщика удостоверений в путь взаимодействия пользователя
Если пользователь находится в пути взаимодействия, добавьте в него нового поставщика удостоверений. Сначала добавьте кнопку входа, а затем свяжите ее с действием, которое является созданным техническим профилем.
- В пути взаимодействия пользователя найдите элемент шага оркестрации с Type=
CombinedSignInAndSignUp
, или Type=ClaimsProviderSelection
. Обычно это первый шаг оркестрации. Элемент ClaimsProviderSelections содержит список удостоверений, с помощью которого выполняется вход пользователей. Порядок элементов управления — это порядок кнопок входа, видимых пользователем. - Добавьте XML-элемент ClaimsProviderSelection.
- Задайте для параметра TargetClaimsExchangeId понятное имя.
- Добавьте элемент ClaimsExchange .
- В качестве идентификатора укажите целевое значение идентификатора обмена запросами.
- Обновите значение TechnicalProfileReferenceId до созданного идентификатора технического профиля.
В следующем файле XML показаны первые два этапа оркестрации пути взаимодействия пользователя с поставщиком удостоверений:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="IdemiaExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="IdemiaExchange" TechnicalProfileReferenceId="Idemia-Oauth2" />
</ClaimsExchanges>
</OrchestrationStep>
Настройка политики проверяющей стороны
Политика проверяющей стороны, например SignUpSignIn.xml, указывает путь взаимодействия пользователя, который выполняется Azure AD B2C.
- Найдите элемент DefaultUserJourney в проверяющей стороне.
- Обновите ReferenceId в соответствии с идентификатором пути взаимодействия пользователя, в который вы добавили поставщик удостоверений.
В следующем примере для пути взаимодействия пользователя CustomSignUpOrSignIn
в качестве параметра ReferenceId задано значение CustomSignUpOrSignIn
.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Передача настраиваемой политики
Для выполнения следующих инструкций используйте каталог с клиентом Azure AD B2C.
Войдите на портал Azure.
На панели инструментов портала выберите Каталоги и подписки.
На странице Параметры портала Каталоги и подписки в списке Имя каталога найдите каталог Azure AD B2C.
Выберите Переключиться.
На портале Azure найдите и выберите Azure AD B2C.
В разделе Политики выберите Identity Experience Framework.
Выберите Отправить настраиваемую политику.
Отправьте два измененных файла политики в следующем порядке:
- Политика расширения, например
TrustFrameworkExtensions.xml
- Политика проверяющей стороны, например
SignUpSignIn.xml
- Политика расширения, например
Тестирование настраиваемой политики
- Выберите политику проверяющей стороны, например
B2C_1A_signup_signin
. - В поле Приложение выберите зарегистрированное веб-приложение.
-
https://jwt.ms
отображается в поле URL-адрес ответа. - Выберите Запустить сейчас.
- На странице регистрации или входа выберите IDEMIA.
- Браузер перенаправляется на
https://jwt.ms
. Просмотрите содержимое маркера, возвращенное Azure AD B2C.
Дополнительные сведения: Учебник. Регистрация веб-приложения в Azure AD B2C