你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息。
在本教程中,了解如何使用 Nevis Access 应用在 Azure Active Directory B2C(Azure AD B2C)中启用无密码身份验证,以启用客户身份验证并符合支付服务指令 2(PSD2)交易要求。 PSD2 是欧盟(EU)指令,由欧盟委员会(总局内部市场)管理,用于监管整个欧盟和欧洲经济区(OEC)的支付服务和支付服务提供商。
先决条件
若要开始,需要:
Nevis 演示帐户
- 请转到
nevis.net
以请求 Nevis + Microsoft Azure AD B2C 帐户。
- 请转到
Azure 订阅服务
- 如果没有帐户,可以获取 Azure 免费帐户
一个已关联到你的 Azure 订阅的 Azure AD B2C 租户
注释
若要将 Nevis 集成到注册策略流中,请将 Azure AD B2C 环境配置为使用自定义策略。
请参阅 教程:在 Azure Active Directory B2C 中创建用户流和自定义策略。
方案说明
为实现无密码身份验证,将品牌 Access 应用添加到您的后端应用程序中。 以下组件构成解决方案:
- Azure AD B2C 租户,其中登录和注册策略已合并到后端
- 用于增强 Azure AD B2C 的 Nevis 实例及其 REST API
- 品牌化的 Access 应用
此图显示了实现。
- 用户尝试使用 Azure AD B2C 策略登录或注册应用程序。
- 注册期间,Access 使用 QR 码注册到用户设备。 私钥在用户设备上生成,用于对用户请求进行签名。
- Azure AD B2C 使用 RESTful 技术配置文件来启动使用 Nevis 解决方案的登录。
- 登录请求以推送消息、QR 码或深层链接的形式转到 Access。
- 用户通过生物识别来批准此登录尝试。 消息将转到 Nevis,它使用存储的公钥验证登录。
- Azure AD B2C 向 Nevis 发送请求以确认登录已完成。
- 通过 Azure AD B2C 成功或失败消息授予或拒绝用户对应用程序的访问权限。
集成 Azure AD B2C 租户
申请 Nevis 帐户
- 转到
nevis.net
前往 Nevis + Microsoft Azure AD B2C。 - 使用表单请求帐户。
- 收到两封电子邮件:
- 管理帐户通知
- 移动应用邀请
将 Azure AD B2C 租户添加到 Nevis 帐户
- 从管理帐户试用电子邮件中,复制管理密钥。
- 在浏览器中,打开 Nevis 管理控制台。
- 使用管理密钥登录到管理控制台。
- 选择 “添加实例”。
- 选择创建的实例。
- 在侧导航中,选择 “自定义集成”。
- 选择 “添加自定义集成”。
- 对于 集成名称,请输入 Azure AD B2C 租户名称。
- 对于 URL/域,请输入
https://yourtenant.onmicrosoft.com
。 - 选择“下一步”
- 选择“完成”。
注释
稍后您将需要 Nevis 访问令牌。
在手机上安装 Nevis Access
- 在 Nevis 移动应用邀请电子邮件中,打开“测试外部测试版应用”邀请。
- 安装应用。
将 Azure AD B2C 与 Nevis 集成
- 登录到 Azure 门户。
- 切换到 Azure AD B2C 租户。 注意:Azure AD B2C 租户通常位于单独租户中。
- 在菜单中,选择“标识体验框架”(IEF)。
- 选择 策略密钥。
- 选择 并添加。
- 创建新密钥。
- 对于 “选项”,请选择“ 手动”。
- 对于 “名称”,请选择 “AuthCloudAccessToken”。
- 对于 机密,请粘贴存储的 Nevis 访问令牌。
- 对于 密钥使用情况,请选择“ 加密”。
- 选择 创建。
配置 nevis.html 文件并将其上传到 Azure Blob 存储
- 在标识环境(IDE)中,转到 /master/samples/Nevis/policy 文件夹。
- 在 /samples/Nevis/policy/ 中nevis.html 打开
nevis.html
文件。 - 将 authentication_cloud_url 替换为 Nevis 管理控制台 URL
https://<instance_id>.mauth.nevis.cloud
。 - 选择“保存”。
- 创建 Azure Blob 存储帐户。
- 将
nevis.html
文件上传到 Azure Blob 存储。 - 配置 CORS。
- 为文件启用跨域资源共享(CORS)。
- 在列表中,选择 nevis.html 文件。
- 在 URL 旁边的“概述”选项卡中,选择复制链接图标。
- 在新浏览器选项卡中打开链接,确认显示灰色框。
注释
稍后将使用此 blob 链接。
自定义 TrustFrameworkBase.xml
- 在 IDE 中,转到 /samples/Nevis/policy 文件夹。
- 打开 TrustFrameworkBase.xml。
- 在 TenantId 中将 你的租户 替换为 Azure 租户帐户名称。
- 将 你的租户 替换为 PublicPolicyURI 中的 Azure 租户帐户名称。
- 将所有 authentication_cloud_url 实例替换为 Nevis 管理控制台 URL。
- 选择“保存”。
自定义 TrustFrameworkExtensions.xml
- 在 IDE 中,转到 /samples/Nevis/policy 文件夹。
- 打开 TrustFrameworkExtensions.xml。
- 在 TenantId 中将 你的租户 替换为 Azure 租户帐户名称。
- 将 你的租户 替换为 PublicPolicyURI 中的 Azure 租户帐户名称。
- 在 BasePolicy 的 TenantId 下,将 你的租户名称 替换为你的 Azure 租户账户名称。
- 在 BuildingBlocks 下,将 LoadUri 替换为
nevis.html
Blob 存储帐户中的 Blob 链接 URL。 - 选择“保存”。
自定义 SignUpOrSignin.xml
- 在 IDE 中,转到 /samples/Nevis/policy 文件夹。
- 打开 SignUpOrSignin.xml 文件。
- 在 TenantId 中将 你的租户 替换为 Azure 租户帐户名称。
- 将“yourtenant”替换为“PublicPolicyUri”中的 Azure 租户帐户名。
- 在 BasePolicy 的 TenantId 中,将 您的租户 替换为您的 Azure 租户帐户名称。
- 选择“保存”。
将自定义策略上传到 Azure AD B2C
- 在 Azure 门户中,打开 Azure AD B2C 租户。
- 选择“Identity Experience Framework”。
- 选择“上传自定义策略”。
- 选择您修改过的 TrustFrameworkBase.xml 文件。
- 选中“覆盖自定义策略(若已有)”复选框。
- 选择“上传”。
- 对 TrustFrameworkExtensions.xml重复步骤 5 和 6 。
- 对 SignUpOrSignin.xml重复步骤 5 和 6 。
测试用户流
测试帐户创建和访问设置
- 在 Azure 门户中,打开 Azure AD B2C 租户。
- 选择“Identity Experience Framework”。
- 向下滚动到 自定义策略 并选择 B2C_1A_signup_signin。
- 选择“立即运行”。
- 在窗口中,选择“ 立即注册”。
- 添加电子邮件地址。
- 选择“ 发送验证码”。
- 从电子邮件复制验证码。
- 选择“ 验证”。
- 在表单中填入新密码和显示名称。
- 选择 创建。
- 此时会显示 QR 码扫描页。
- 在手机上,打开 Nevis Access 应用。
- 选择 人脸 ID。
- 此时会显示 验证器注册成功 屏幕。
- 选择继续。
- 在手机上,使用人脸进行身份验证。
- jwt.ms 欢迎页面会出现,显示已解码的令牌详细信息。
测试无密码登录
- 在“Identity Experience Framework”下,选择“B2C_1A_signup_signin”。
- 选择“立即运行”。
- 在窗口中,选择 “无密码身份验证”。
- 输入电子邮件地址。
- 选择继续。
- 在手机上的“通知”中,选择 “Nevis Access 应用通知”。
- 使用人脸进行身份验证。
- jwt.ms 欢迎页随令牌一起显示。