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

必须在你管理的租户中注册应用程序,然后这些应用程序才能与 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 租户,请立即创建一个。 可以使用现有的 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 和 office_access 权限的管理员许可”复选框。

  9. 选择“注册”。

提示

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

创建客户端机密

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

应用注册

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

注意

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

启用 ID 令牌隐式授权

如果注册此应用,并利用 https://jwt.ms/ 配置该应用来测试用户流或自定义策略,则需要在应用注册中启用隐式授权流:

  1. 在左侧菜单中的“管理”下,选择“身份验证” 。

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

  3. 选择“保存” 。

后续步骤

本文介绍了如何执行以下操作:

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

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