单页应用程序:应用注册
要在 Microsoft 标识平台中注册单页应用程序 (SPA),请完成以下步骤。 注册步骤在支持隐式授权流的 MSAL 1.0 和支持使用代码交换证明密钥 (PKCE) 的授权代码流的 MSAL 2.0 之间有所不同。
创建应用注册
提示
本文中的步骤可能因开始使用的门户而略有不同。
对于基于 MSAL 1.0 和 2.0 的应用程序,请先完成以下步骤以创建初始应用注册。
- 登录 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标
,通过“目录 + 订阅”菜单切换到你希望在其中注册应用程序的租户。
- 转到“标识”>“应用程序”>“应用注册”,然后选择“新建注册”。
- 输入应用程序的名称。 应用的用户可能会看到此名称,你稍后可对其进行更改。
- 选择应用程序支持的帐户类型。 请勿输入“重定向 URI”。 有关不同帐户类型的说明,请参阅注册应用程序。
- 选择“注册”以创建应用注册。
接下来,使用“重定向 URI”配置应用注册,以指定 Microsoft 标识平台应将客户端与任何安全令牌重定向到的位置。 按照适用于将在应用程序中使用的 MSAL.js 版本的步骤操作:
重定向 URI:采用身份验证代码流的 MSAL.js 2.0
按照以下步骤为使用 MSAL.js 2.0 或更高版本的应用添加重定向 URI。 MSAL.js 2.0+ 支持使用 PKCE 和 跨域资源共享 (CORS) 的授权代码流,以响应浏览器第三方 Cookie 限制。 MSAL.js 2.0+ 中不支持隐式授权流。
- 在 Microsoft Entra 管理中心,选择在“创建应用注册”中创建的应用注册。
- 在“管理”下,选择“身份验证”>“添加平台” 。
- 在“Web 应用程序”下,选择“单页应用程序”磁贴。
- 在“重定向 URI”下,输入 重定向 URI。 请勿选中“隐式授权和混合流”下的任一复选框 。
- 选择“配置”以添加重定向 URI。
SPA 现已注册到重定向 URI。 通过使用“添加平台”窗格中的“单页应用程序”磁贴来配置重定向 URI,应用程序注册配置支持使用 PKCE 和 CORS 的授权代码流。
如需进一步的指导,请参阅教程。
重定向 URI:采用隐式流的 MSAL.js 1.0
请按照以下步骤为使用 MSAL.js 1.3 或更早版本的 SPA 和隐式授权流添加重定向 URI。 使用 MSAL.js 1.3 或更早版本的应用程序不支持身份验证代码流。
- 在 Microsoft Entra 管理中心,选择在“创建应用注册”中创建的应用注册。
- 在“管理”下,选择“身份验证”>“添加平台” 。
- 在“Web 应用程序”下,选择“单页应用程序”磁贴。
- 在“重定向 URI”下,输入 重定向 URI。
- 启用“隐式授权和混合流”:
- 选择“配置”以添加重定向 URI。
SPA 现已注册到重定向 URI。 通过选择“ID 令牌”和“访问令牌”中的一个或选择两个,即表示应用程序注册支持隐式授权流。
关于授权流的注意事项
默认情况下,使用 SPA 平台配置创建的应用注册会启用授权代码流。 要利用此流,你的应用程序必须使用 MSAL.js 2.0 或更高版本。
使用 MSAL.js 1.3 的 SPA 仅限于隐式授权流。 当前的 OAuth 2.0 最佳做法建议为 SPA 使用授权代码流而非隐式流。 拥有使用期有限的刷新令牌还可以帮助你的应用适应 Safari ITP 之类的新式浏览器 cookie 隐私限制。
当应用注册代表的所有生产 SPA 都使用 MSAL.js 2.0 和授权代码流时,请取消选中 Microsoft Entra 管理中心中应用注册的“身份验证”窗格上的隐式授权设置。 如果仍让 SPA 使用 MSAL.js 1.x,请启用隐式流(选中)。
后续步骤
配置应用代码,以使用在应用的代码配置中创建的应用注册。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈