教程:在 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 应用程序,可使用我们新的统一“应用注册”。 详细了解此新体验。
应用注册
登录 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 和 office_access 权限的管理员许可”复选框。
选择“注册”。
提示
如果看不到在“应用注册”下创建的应用,请刷新门户。
创建客户端机密
对于 Web 应用程序,需要创建应用程序机密。 客户端密码也称为应用程序密码。 应用程序将使用此密码来交换访问令牌的授权代码。
应用注册
- 在“Azure AD B2C - 应用注册”页中,选择已创建的应用程序,例如 webapp1。
- 在左侧菜单中“管理”下,选择“证书和机密”。
- 选择“新建客户端机密”。
- 在“说明”框中输入客户端机密的说明。 例如,clientsecret1。
- 在“过期时间”下,选择机密持续生效的时间,然后选择“添加”。
- 记录密码的值,以便在客户端应用程序代码中使用。 退出此页面后,此机密值永不再显示。 在应用程序的代码中将此值用作应用程序机密。
注意
出于安全考虑,您可以定期滚动更新应用程序密码,或在紧急情况下立即滚动更新。 任何与 Azure AD B2C 集成的应用程序都应准备好处理密码滚动更新事件,而不管滚动更新可能发生的频率如何。 可以设置两个应用程序密码,使应用程序能够在应用程序密码轮换事件期间继续使用旧密码。 若要添加另一个客户端密码,请重复本部分中的步骤。
启用 ID 令牌隐式授权
可以启用隐式授权流,以使用此应用注册来测试用户流以进行测试。
选择创建的应用注册。
在“管理”下,选择“身份验证”。
在“隐式授权和混合流”下,同时选中“访问令牌(用于隐式流)”和“ID 令牌(用于隐式流和混合流)”复选框。
选择“保存”。
注意
如果启用隐式授权来测试用户流,请确保在将应用部署到生产环境之前禁用隐式授权流设置。
后续步骤
本文介绍了如何执行以下操作:
- 注册 Web 应用程序
- 创建客户端机密