重要
自 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 应用程序,可以使用新的统一 应用注册。 详细了解新体验。
应用注册
登录到 Azure 门户。
如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
在 Azure 门户中,搜索并选择 Azure AD B2C。
选择“应用注册”,然后选择“新建注册”。
输入应用程序的“名称”。 例如 ,webapp1。
在“支持的帐户类型”下,选择“任何标识提供者或组织目录中的帐户(用于通过用户流对用户进行身份验证)”。
在 “重定向 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-response
并https://contoso.com/auth-response/
可能被视为应用程序中的非匹配 URL。
- 回复 URL 必须以方案
在“权限”下,选择“向 OpenID 和 offline_access 权限授予管理员同意”复选框。
选择“注册”。
小窍门
如果未看到在 应用注册下创建的应用,请刷新门户。
创建客户端机密
对于 Web 应用程序,需要创建应用程序机密。 客户端密码也称为 应用程序密码。 应用程序将使用机密来交换访问令牌的授权代码。
应用注册
- 在 Azure AD B2C - 应用注册 页中,选择创建的应用程序,例如 webapp1。
- 在左侧菜单中的“管理”下,选择“证书和机密”。
- 选择 新客户端密码。
- 在“说明”框中输入客户端密码的说明。 例如,clientsecret1。
- 在“过期时间”下,选择机密持续生效的时间,然后选择“添加”。
- 记录密码的值,以便在客户端应用程序代码中使用。 退出此页面后,此机密值永不再显示。 在应用程序的代码中将此值用作应用程序机密。
注释
出于安全考虑,您可以定期更换应用程序密钥,也可在紧急情况下立即更换。 与 Azure AD B2C 集成的任何应用程序都应准备好处理机密滚动更新事件,无论其发生频率如何。 可以设置两个应用程序机密,允许应用程序在应用程序机密轮换事件期间继续使用旧机密。 若要添加另一个客户端密码,请重复本部分中的步骤。
启用 ID 令牌隐式授权
可以启用隐式授权流以使用此应用注册来测试用户流以进行测试。
选择创建的应用注册。
在“管理”下,选择“身份验证”。
在“隐式授权和混合流”下,同时选中“访问令牌(用于隐式流)”和“ID 令牌(用于隐式流和混合流)”复选框。
选择“保存”。
注释
如果启用隐式授权来测试用户流,请确保在将应用部署到生产环境之前禁用隐式授权流设置。
后续步骤
在这篇文章中,您学习了如何:
- 注册 Web 应用程序
- 创建客户端机密