教程:在 Azure Active Directory B2C 中注册 Web 应用程序

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

在应用程序可与 Azure Active Directory B2C(Azure AD B2C)交互之前,必须在你管理的租户中注册它们。 本教程介绍如何使用 Azure 门户注册 Web 应用程序。

“Web 应用程序”是指在服务器上执行大多数应用程序逻辑的传统 Web 应用程序。 可以使用 ASP.NET Core、Spring(Java)、Flask(Python)或 Express(Node.js)等框架生成它们。

重要

如果使用单页应用程序(“SPA”), 请了解如何注册单页应用程序(例如使用 Angular、Vue 或 React)。

如果改用本机应用(例如 iOS、Android、移动和桌面), 请了解如何注册本机客户端应用程序

先决条件

  • 如果没有 Azure 订阅,请在开始之前创建一个免费帐户

  • 如果尚未创建您自己的 Azure AD B2C Tenant,现在就创建一个。 你可以使用现有的 Azure AD B2C 租户。

注册 Web 应用程序

若要在 Azure AD B2C 租户中注册 Web 应用程序,可以使用新的统一 应用注册详细了解新体验

应用注册

  1. 登录到 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。

  3. 在 Azure 门户中,搜索并选择 Azure AD B2C

  4. 选择“应用注册”,然后选择“新建注册”

  5. 输入应用程序的“名称”。 例如 ,webapp1

  6. 在“支持的帐户类型”下,选择“任何标识提供者或组织目录中的帐户(用于通过用户流对用户进行身份验证)”

  7. “重定向 URI”下,选择 “Web”,然后在 URL 文本框中输入 https://jwt.ms

    重定向 URI 是用户在完成与授权服务器(在此情况下为 Azure AD B2C)的交互后,所被发送到的终结点,并在成功授权后向该终结点发送访问令牌或授权码。 在生产应用程序中,它通常是运行应用的公共可访问终结点,如 https://contoso.com/auth-response。 出于本教程等测试目的,可以将它 https://jwt.ms设置为一个Microsoft拥有的 Web 应用程序,它显示令牌的解码内容(令牌的内容永远不会离开浏览器)。 在应用开发过程中,可以添加应用程序在本地侦听的终结点,如 https://localhost:5000。 可以随时在注册的应用程序中添加和修改重定向 URI。

    重定向 URI 存在以下限制:

    • 回复 URL 必须以方案 https 开头,除非使用 localhost 重定向 URL。
    • 回复 URL 区分大小写。 其大小写必须与正在运行的应用程序的 URL 路径的大小写匹配。 例如,如果应用程序将作为其路径 .../abc/response-oidc 的一部分包含在内,请不要在回复 URL 中指定 .../ABC/response-oidc。 由于 Web 浏览器将路径视为区分大小写,因此在重定向到大小写不匹配的 .../abc/response-oidc URL 时,可能会排除与 .../ABC/response-oidc 关联的 cookie。
    • 回复 URL 应包括或排除应用程序预期的尾随正斜杠。 例如, https://contoso.com/auth-responsehttps://contoso.com/auth-response/ 可能被视为应用程序中的非匹配 URL。
  8. 在“权限”下,选择“向 OpenID 和 offline_access 权限授予管理员同意”复选框

  9. 选择“注册”。

小窍门

如果未看到在 应用注册下创建的应用,请刷新门户。

创建客户端机密

对于 Web 应用程序,需要创建应用程序机密。 客户端密码也称为 应用程序密码。 应用程序将使用机密来交换访问令牌的授权代码。

应用注册

  1. Azure AD B2C - 应用注册 页中,选择创建的应用程序,例如 webapp1
  2. 在左侧菜单中的“管理”下,选择“证书和机密”
  3. 选择 新客户端密码
  4. 在“说明”框中输入客户端密码的说明。 例如,clientsecret1
  5. 在“过期时间”下,选择机密持续生效的时间,然后选择“添加”。
  6. 记录密码的,以便在客户端应用程序代码中使用。 退出此页面后,此机密值永不再显示。 在应用程序的代码中将此值用作应用程序机密。

注释

出于安全考虑,您可以定期更换应用程序密钥,也可在紧急情况下立即更换。 与 Azure AD B2C 集成的任何应用程序都应准备好处理机密滚动更新事件,无论其发生频率如何。 可以设置两个应用程序机密,允许应用程序在应用程序机密轮换事件期间继续使用旧机密。 若要添加另一个客户端密码,请重复本部分中的步骤。

启用 ID 令牌隐式授权

可以启用隐式授权流以使用此应用注册来测试用户流以进行测试。

  1. 选择创建的应用注册。

  2. 在“管理”下,选择“身份验证”。

  3. 在“隐式授权和混合流”下,同时选中“访问令牌(用于隐式流)”和“ID 令牌(用于隐式流和混合流)”复选框。

  4. 选择“保存”

注释

如果启用隐式授权来测试用户流,请确保在将应用部署到生产环境之前禁用隐式授权流设置。

后续步骤

在这篇文章中,您学习了如何:

  • 注册 Web 应用程序
  • 创建客户端机密

了解如何 在 Azure Active Directory B2C 中创建用户流