你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure Active Directory B2C 中配置 Onfido 的教程

在本教程中,了解如何将 Azure Active Directory B2C (Azure AD B2C) 与文档 ID 和面部生物识别验证应用 Onfido 集成。 使用它来满足“了解你的客户”和标识要求。 Onfido 使用人工智能 (AI) 技术,通过将照片 ID 与面部生物识别技术相匹配来验证标识。 该解决方案将数字标识连接到个人,提供可靠的载入体验,并有助于减少欺诈。

在本教程中,你将启用 Onfido 服务以在注册或登录流中验证标识。 Onfido 结果告知有关用户访问哪些产品或服务的决策。

先决条件

若要开始,需要:

方案描述

Onfido 集成包括以下组件:

  • Azure AD B2C 租户 - 根据该租户中定义的自定义策略来验证用户凭据的授权服务器。 它也称为“标识提供者 (IdP)”。 它承载 Onfido 客户端应用,该应用收集用户文档并将这些文档传输到 Onfido API 服务。
  • Onfido 客户端 - 可配置的 JavaScript 客户端文档收集实用工具,部署在其他网页中。 它检查文档大小和质量等详细信息。
  • 中间 REST API – 为 Azure AD B2C 租户提供终结点,以便与 Onfido API 服务通信。 它处理数据处理并遵守两者的安全要求。
  • Onfido API 服务 - 后端服务,用于保存和验证用户文档。

以下体系结构图体现了实施详情。

DevOps 体系结构示意图。

  1. 用户注册以创建新帐户并输入属性。 Azure AD B2C 收集属性。 在 Azure AD B2C 中托管的 Onfido 客户端应用会检查用户信息。
  2. Azure AD B2C 调用中间层 API 并传递属性。
  3. 中间层 API 收集属性并将其转换为 Onfido API 格式。
  4. Onfido 处理属性以验证用户标识并将结果发送到中间层 API。
  5. 中间层 API 处理结果,并以 JavaScript 对象表示法 (JSON) 格式将相关信息发送到 Azure AD B2C。
  6. Azure AD B2C 接收信息。 如果响应失败,将出现一条错误消息。 如果响应成功,则表明用户已通过身份验证且写入到目录中。

创建 Onfido 帐户

  1. 创建 Onfido 帐户:转到 onfido.com 联系我们并填写表单。
  2. 创建 API 密钥:转到入门 (API v3.5)

注意

稍后会需要用到该密钥。

Onfido 文档

实时密钥是可计费的,但是,你可以使用沙盒密钥来测试。 转到 onfido.com,获取沙盒和实时差异。 沙盒密钥生成与实时密钥相同的结果结构,但是,这些结果是预先确定的。 不会处理或保存文档。

有关 Onfido 的更多文档,请参阅:

为 Azure AD B2C 配置 Onfido

部署 API

  1. 将 API 代码部署到 Azure 服务。 转到 samples/OnFido-Combined/API/Onfido.Api/。 可以从 Visual Studio 发布代码。
  2. 设置跨源资源共享 (CORS)。
  3. 将“允许的源”添加为 https://{your_tenant_name}.b2clogin.com

注意

需要已部署服务 URL 才能配置 Microsoft Entra ID。

添加敏感配置设置

在 Azure 应用服务中配置应用设置,而无需将其签入存储库。

REST API 设置:

  • 应用程序设置名称:OnfidoSettings:AuthToken
  • :Onfido 帐户

部署 UI

配置存储位置

  1. 在 Azure 门户,创建容器
  2. 将 UI 文件存储在 Blob 容器中的 /samples/OnFido-Combined/UI 中。
  3. 允许 CORS 访问创建的存储容器:转到“设置”>“允许的源”。
  4. 输入 https://{your_tenant_name}.b2clogin.com
  5. 使用小写字母将租户名称替换为 Azure AD B2C 租户名称。 例如 https://fabrikam.b2clogin.com
  6. 对于“允许的方法”,请选择 GETPUT
  7. 选择“保存”。

更新 UI 文件

  1. 在 UI 文件中,转到 samples/OnFido-Combined/UI/ocean_blue
  2. 打开每个 html 文件。
  3. 查找 {your-ui-blob-container-url},并将其替换为 UI ocean_blue、dist 和 assets 文件夹 URL。
  4. 查找 {your-intermediate-api-url} 并将其替换为中间 API 应用服务 URL。

上传文件

  1. 将 UI 文件夹文件存储在 Blob 容器中。
  2. 使用 Azure 存储资源管理器管理 Azure 托管磁盘和访问权限。

配置 Azure AD B2C

替换配置值

/samples/OnFido-Combined/Policies 中,查找以下占位符,并将它们替换为你实例中的相应值。

占位符 替换为值 示例
{your_tenant_name} 你的租户短名称 来自 yourtenant.onmicrosoft.com 的“你的租户”
{your_tenantID} 你的 Azure AD B2C TenantID 01234567-89ab-cdef-0123-456789abcdef
{your_tenant_IdentityExperienceFramework_appid} Azure AD B2C 租户中配置的 IdentityExperienceFramework 应用的应用 ID 01234567-89ab-cdef-0123-456789abcdef
{your_tenant_ ProxyIdentityExperienceFramework_appid} Azure AD B2C 租户中配置的 ProxyIdentityExperienceFramework 应用的应用 ID 01234567-89ab-cdef-0123-456789abcdef
{your_tenant_extensions_appid} 租户存储应用程序的应用 ID 01234567-89ab-cdef-0123-456789abcdef
{your_tenant_extensions_app_objectid} 租户存储应用程序的对象 ID 01234567-89ab-cdef-0123-456789abcdef
{your_app_insights_instrumentation_key} 应用见解实例* 检测密钥 01234567-89ab-cdef-0123-456789abcdef
{your_ui_file_base_url} UI 文件夹的位置 URL ocean_blue、dist 和 assets https://yourstorage.blob.core.windows.net/UI/
{your_app_service_URL} 设置的应用服务 URL https://yourapp.azurewebsites.net

*应用见解可以在不同的租户中。 此步骤是可选的。 删除相应的 TechnicalProfiles 和 OrchestrationSteps(如果不需要)。

配置 Azure AD B2C 策略

请参考自定义策略初学者包,了解有关设置 Azure AD B2C 租户和配置策略的说明。 自定义策略是你上传到 Azure AD B2C 租户的一组 XML 文件,用于定义技术配置文件和用户旅程。

注意

建议你在属性集合页中添加同意通知。 通知用户:信息将提交给第三方服务来进行身份验证。

测试用户流

  1. 打开 Azure AD B2C 租户。
  2. 在“策略”下,选择“Identity Experience Framework”。
  3. 选择前面创建的“SignUpSignIn”。
  4. 选择“运行用户流”。
  5. 对于“应用程序”,选择已注册的应用(示例为 JWT)。
  6. 对于“回复 URL”,选择“重定向 URL”。
  7. 选择“运行用户流”。
  8. 完成注册流。
  9. 创建帐户。
  10. 创建用户属性时,在流期间调用 Onfido。

注意

如果流未完成,请确认用户是否已保存在目录中。

后续步骤