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

为 Azure Active Directory B2C 配置 Nevis 以进行无密码身份验证的教程

本教程介绍如何使用 Nevis Access 应用在 Azure Active Directory B2C (Azure AD B2C) 中启用无密码身份验证,以启用客户身份验证并遵守支付服务指令 2 (PSD2) 交易要求。 PSD2 是欧洲联盟(欧盟)指令,由欧洲委员会(内部市场总局)管理,旨在监管整个欧盟和欧洲经济区 (EEA) 的支付服务和支付服务提供商。

先决条件

若要开始,需要:

注意

若要将 Nevis 集成到注册策略流中,请将 Azure AD B2C 环境配置为使用自定义策略。
请参阅教程:在 Azure Active Directory B2C 中创建用户流和自定义策略

方案描述

将品牌化的访问应用添加到后端应用程序以进行无密码身份验证。 以下组件构成了解决方案:

  • Azure AD B2C 租户,其中登录和注册策略已合并到后端
  • 用于增强 Azure AD B2C 的 Nevis 实例及其 REST API
  • 品牌化的 Access 应用

此图显示了实现流程。

示意图显示使用 Azure AD B2C 和 Nevis 的密码登录大致流程。

  1. 用户尝试使用 Azure AD B2C 策略登录或注册应用程序。
  2. 在注册过程中,会使用 QR 码将 Access 注册到用户设备。 随后会在用户设备上生成私钥,并将该私钥用于对用户请求进行签名。
  3. Azure AD B2C 使用 RESTful 技术配置文件来启动使用 Nevis 解决方案的登录。
  4. 登录请求以推送消息、QR 码或深层链接的形式进入 Access。
  5. 该用户同意通过其生物特征尝试登录。 一条消息进入 Nevis,该消息使用存储的公钥来验证登录。
  6. Azure AD B2C 向 Nevis 发送请求,以确认登录已完成。
  7. 向用户授予或拒绝对应用程序的访问权限,并显示 Azure AD B2C 成功或失败消息。

集成 Azure AD B2C 租户

请求 Nevis 帐户

  1. 转到 nevis.net for Nevis + Microsoft Azure AD B2C
  2. 使用表单请求帐户。
  3. 收到两封电子邮件:
  • 管理帐户通知
  • 移动应用邀请

将 Azure AD B2C 租户添加到 Nevis 帐户

  1. 从管理帐户试用电子邮件中,复制管理密钥。
  2. 在浏览器中,打开 https://console.nevis.cloud/
  3. 使用管理密钥登录到管理控制台。
  4. 选择“添加实例”。
  5. 选择创建的实例。
  6. 在侧面导航中,选择“自定义集成”。
  7. 选择“添加自定义集成”。
  8. 对于集成名称,输入你的 Azure AD B2C 租户名称。
  9. 对于“URL/域”,输入 https://yourtenant.onmicrosoft.com
  10. 选择“下一步”
  11. 选择“完成”。

注意

稍后需要使用 Nevis 访问令牌。

在手机上安装 Nevis Access

  1. 在 Nevis 移动应用邀请电子邮件中,打开“测试外部测试版应用”邀请。
  2. 安装应用。

将 Azure AD B2C 与 Nevis 集成

  1. 登录到 Azure 门户
  2. 切换到 Azure AD B2C 租户。 注意:Azure AD B2C 租户通常位于单独租户中。
  3. 在菜单中,选择“Identity Experience Framework (IEF)”。
  4. 选择“策略密钥”。
  5. 选择 添加
  6. 创建新密钥。
  7. 对于“选项”,请选择“手动” 。
  8. 对于“名称”,选择“AuthCloudAccessToken”。
  9. 对于“机密”,粘贴存储的“Nevis 访问令牌”。
  10. 对于“密钥用法”,请选择“加密”。
  11. 选择“创建”。

配置 nevis.html 并将其上传到 Azure Blob 存储

  1. 在标识环境中 (IDE),转到 /master/samples/Nevis/policy 文件夹。
  2. /samples/Nevis/policy/nevis.html 中打开 nevis.html 文件。
  3. 将“authentication_cloud_url”替换为 Nevis 管理控制台 URL https://<instance_id>.mauth.nevis.cloud
  4. 选择“保存”。
  5. 创建 Azure Blob 存储帐户
  6. 将 nevis.html 文件上传到 Azure Blob 存储。
  7. 配置 CORS
  8. 为文件启用跨域资源共享 (CORS)。
  9. 在列表中,选择 nevis.html 文件。
  10. 在“概述”选项卡的“URL”旁边,选择“复制链接”图标 。
  11. 在新的浏览器选项卡中打开该链接,确保显示灰色框。

注意

稍后将使用此 blob 链接。

自定义 TrustFrameworkBase.xml

  1. 在 IDE 中,转到 /samples/Nevis/policy 文件夹。
  2. 打开 TrustFrameworkBase.xml
  3. 将“yourtenant”替换为“TenantId”中的 Azure 租户帐户名。
  4. 将“yourtenant”替换为“PublicPolicyURI”中的 Azure 租户帐户名。
  5. 将所有“authentication_cloud_url”实例均替换为 Nevis 管理控制台的 URL。
  6. 选择“保存”。

自定义 TrustFrameworkExtensions.xml

  1. 在 IDE 中,转到 /samples/Nevis/policy 文件夹。
  2. 打开 TrustFrameworkExtensions.xml
  3. 将“yourtenant”替换为“TenantId”中的 Azure 租户帐户名。
  4. 将“yourtenant”替换为“PublicPolicyURI”中的 Azure 租户帐户名。
  5. 在“BasePolicy”下的“TenantId”中,将“yourtenant”替换为 Azure 租户帐户名。
  6. 在“BuildingBlocks”下,将“LoadUri”替换为 blob 存储帐户中“nevis.html”blob 链接 URL。
  7. 选择“保存”。

自定义 SignUpOrSignin.xml

  1. 在 IDE 中,转到 /samples/Nevis/policy 文件夹。
  2. 打开 SignUpOrSignin.xml 文件。
  3. 将“yourtenant”替换为“TenantId”中的 Azure 租户帐户名。
  4. 将“yourtenant”替换为“PublicPolicyUri”中的 Azure 租户帐户名。
  5. 在“BasePolicy”下的“TenantId”中,将“yourtenant”替换为 Azure 租户帐户名。
  6. 选择“保存”。

将自定义策略上传到 Azure AD B2C

  1. Azure 门户中,打开你的 Azure AD B2C 租户。
  2. 选择“标识体验框架”。
  3. 选择“上传自定义策略”。
  4. 选择已修改的“TrustFrameworkBase.xml”文件。
  5. 选中“覆盖自定义策略(若已有)”复选框。
  6. 选择“上传”。
  7. 对 TrustFrameworkExtensions.xml 重复步骤 5 和 6。
  8. 对 SignUpOrSignin.xml 重复步骤 5 和 6。

测试用户流

测试帐户创建和 Access 设置

  1. Azure 门户中,打开你的 Azure AD B2C 租户。
  2. 选择“标识体验框架”。
  3. 向下滚动到“自定义策略”,然后选择“B2C_1A_signup_signin”。
  4. 选择“立即运行”。
  5. 在窗口中,选择“立即注册”。
  6. 添加电子邮件地址。
  7. 选择“发送验证码”。
  8. 复制电子邮件中的验证码。
  9. 选择“验证” 。
  10. 在表单中填入新密码和显示名称。
  11. 选择“创建”。
  12. 此时会出现 QR 码扫描页面。
  13. 在手机上,打开“Nevis Access 应用”。
  14. 选择“Face ID”。
  15. 此时会出现“Authenticator 注册成功”屏幕。
  16. 选择“继续”。
  17. 在手机上,通过你的人脸进行身份验证。
  18. 此时会显示 jwt.ms 欢迎 页,其中包含已解码的令牌详细信息。

测试无密码登录

  1. 在“Identity Experience Framework”下,选择“B2C_1A_signup_signin” 。
  2. 选择“立即运行”。
  3. 在窗口中,选择“无密码身份验证”。
  4. 输入电子邮件地址。
  5. 选择“继续”。
  6. 在手机上的“通知”中,选择“Nevis Access 应用通知”。
  7. 通过人脸进行身份验证。
  8. jwt.ms 欢迎页随令牌一起显示。

后续步骤