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

使用基于标头的身份验证通过 Grit 的应用代理将应用程序迁移到 Azure Active Directory B2C

本示例教程介绍如何使用基于标头的身份验证通过 Grit 的应用代理将旧应用程序迁移到 Azure Active Directory B2C (Azure AD B2C)。

使用 Grit 的应用代理可获得如下好处:

  • 无需更改应用程序代码且可轻松部署,从而更快实现 ROI

  • 使用户能够使用多重身份验证、生物识别和无密码验证等新式身份验证体验,从而增强安全性。

  • 显著节省旧式身份验证解决方案的许可证成本

先决条件

若要开始,需要:

方案描述

Grit 集成包括以下组件:

  • Azure AD B2C:用于验证用户凭据的授权服务器 - 经过身份验证的用户使用 Azure AD B2C 目录中存储的本地帐户访问本地应用程序。

  • Grit 应用代理:该服务通过 HTTP 标头将标识传递给应用程序。

  • Web 应用程序:用户请求访问的旧应用程序。

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

显示实现的体系结构示意图的屏幕截图。

  1. 用户请求访问本地应用程序。

  2. Grit 应用代理通过 Azure Web 应用程序防火墙 (WAF) 接收请求并将其发送到应用程序。

  3. Grit 应用代理检查用户身份验证状态。 如果没有会话令牌或令牌无效,用户将转到 Azure AD B2C 进行身份验证。

  4. Azure AD B2C 将用户请求发送到 Azure AD B2C 租户中在注册 Grit 应用代理期间指定的终结点。

  5. Grit 应用代理评估访问策略,并计算转发到应用程序的 HTTP 标头中的属性值。 Grit 应用代理设置标头值并将请求发送到该应用程序。

  6. 对用户进行身份验证并授予/拒绝其对应用程序的访问权限。

使用 Grit 应用代理加入

有关加入的详细信息,请联系 Grit 支持人员

使用 Azure AD B2C 配置 Grit 的应用代理解决方案

在本教程中,Grit 已有一个后端应用程序和一个 Azure AD B2C 策略。 本教程将介绍如何配置代理以访问该后端应用程序。

可以使用 UX 配置该后端应用程序的每个页面以确保安全性。 可以配置每个页面所需的身份验证类型和所需的标头值。

如果需要根据组成员身份或其他某种条件拒绝用户对特定页面的权限,身份验证用户旅程将处理此操作。

  1. 导航到 https://proxyeditor.z13.web.core.windows.net/

  2. 下拉菜单出现后,选择下拉菜单,然后选择“新建”。

  3. 输入仅包含字母和数字的页面名称。

  4. 在“B2C 策略”框中输入 B2C_1A_SIGNUP_SIGNIN。

  5. 选择“GET”作为 HTTP 方法。

  6. 在终结点字段中输入“https://anj-grit-legacy-backend.azurewebsites.net/Home/Page”,即旧应用程序的终结点。

    注意

    此演示已公开发布,你输入的值将公开可见。 请不要使用此演示配置安全应用程序。

    显示代理配置 UI 的屏幕截图。

  7. 选择“添加标头”。

  8. 在目标标头字段中输入 x-iss,以配置必须发送到应用程序的有效 HTTP 标头。

  9. 在“值”字段中输入 given_name,即 B2C 策略中某个声明的名称。 该声明的值将传递到标头中。

  10. 选择“令牌”作为源。

  11. 选择“保存设置”。

  12. 选择弹出窗口中的链接。 随即你会转到登录页面。 选择注册链接并输入所需的信息。 完成注册过程后,你将重定向到旧应用程序。 在注册期间,应用程序会显示你在“给定名称”字段中提供的名称。

测试流

  1. 导航到本地应用程序 URL。

  2. Grit 应用代理重定向到你在用户流中配置的页面。 从列表中选择 IdP。

  3. 在提示符下,输入凭据。 必要时包括 Microsoft Entra 多重身份验证令牌。

  4. 你会重定向到 Azure AD B2C,这样就会将应用程序请求转发到 Grit 应用代理重定向 URI。

  5. Grit 应用代理评估策略,计算标头,并将用户发送到上游应用程序。

  6. 此时将显示请求的应用程序。

其他资源