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

为 Azure Active Directory B2C 配置 Jumio 的教程

本教程介绍如何将 Azure Active Directory B2C (Azure AD B2C) 与 Jumio 集成,Jumio 是一种 ID 验证服务,可实现实时自动 ID 验证,以帮助保护客户数据。

先决条件

若要开始,需要:

方案描述

Jumio 集成包括以下组件:

  • Azure AD B2C - 验证用户凭据的授权服务器,也称为标识提供者 (IdP)
  • Jumio - 验证用户 ID 详细信息
  • 中间 REST API - 使用它实现 Azure AD B2C 和 Jumio 集成
  • Azure Blob 存储 - 使用它获取 Azure AD B2C 策略的自定义 UI 文件

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

Azure AD B2C 与 Jumio 的集成体系结构示意图

  1. 用户登录或注册并创建帐户。 Azure AD B2C 收集用户属性。
  2. Azure AD B2C 调用中间层 API 并传递用户属性。
  3. 中间层 API 将用户属性转换为 Jumio API 格式,并将属性发送到 Jumio。
  4. Jumio 处理属性,并将结果返回给中间层 API。
  5. 中间层 API 处理结果并将相关信息发送到 Azure AD B2C。
  6. Azure AD B2C 接收信息。 如果响应失败,将出现一条错误消息。 如果响应成功,则表明用户已通过身份验证且写入到目录中。

创建 Jumio 帐户

若要创建 Jumio 帐户,请转到 jumio.com 联系人页。

为 Azure AD B2C 配置 Jumio

创建 Jumio 帐户后,使用该帐户来配置 Azure AD B2C。

部署 API

samples/Jumio/API/Jumio.Api/ 中,将代码部署到 Azure 服务。 可以从 Visual Studio 发布代码。

注意

若要配置 Microsoft Entra ID,需要已部署服务 URL。

部署客户端证书

客户端证书帮助保护 Jumio API 调用。

  1. 使用以下 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.
    
    
  2. 证书会导出到为 {your-local-path} 指定的位置。

  3. 若要将证书导入 Azure 应用服务,请参阅上传专用证书

创建签名密钥/加密密钥

  1. 创建长度超过 64 个字符(仅包含字母和数字)的随机字符串。

    例如: C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65

  2. 使用下面的 PowerShell 脚本创建字符串:

-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64  | % {[char]$_})

配置 API

可以在 Azure 应用服务中配置应用程序设置,而无需将其签入存储库。 你需要向 REST API 提供以下设置:

应用程序设置 Source 注释
JumioSettings:AuthUsername Jumio 帐户配置 不适用
JumioSettings:AuthPassword Jumio 帐户配置 不适用
AppSettings:SigningCertThumbprint 创建的自签名证书指纹 不适用
AppSettings:IdTokenSigningKey 使用 PowerShell 创建的签名密钥 不适用
AppSettings:IdTokenEncryptionKey 使用 PowerShell 创建的加密密钥 不适用
AppSettings:IdTokenIssuer JWT 令牌的颁发者(最好使用 GUID 值) 不适用
AppSettings:IdTokenAudience JWT 令牌的受众(最好使用 GUID 值) 不适用
AppSettings:BaseRedirectUrl Azure AD B2C 策略基 URL https://{your-tenant-name}.b2clogin.com/{your-application-id}
WEBSITE_LOAD_CERTIFICATES 创建的自签名证书指纹 不适用

部署 UI

  1. 设置存储帐户中的 Blob 存储容器
  2. 在 blob 容器中存储来自 /samples/Jumio/UI/ 的 UI 文件。

更新 UI 文件

  1. 在 UI 文件中,转到 /samples/Jumio/UI/ocean_blue/
  2. 打开每个 HTML 文件。
  3. 找到 {your-ui-blob-container-url} 并将其替换为你的 Blob 容器的 URL。
  4. 找到 {your-intermediate-api-url} 并将其替换为中间 API 应用服务 URL。

注意

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

配置 Azure AD B2C 策略

  1. 转到 /samples/Jumio/Policies/ 中的 Azure AD B2C 策略。
  2. 按照自定义策略初学者包中的说明下载 LocalAccounts 初学者包
  3. 为 Azure AD B2C 租户配置策略。

注意

更新策略,使其与你的租户相关。

测试用户流

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

提示

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

后续步骤