Azure Government是否完整实现V2授权端点?MSAL.JS SPA令牌获取遇错
解答:Azure Government V2授权端点支持及MSAL.JS令牌获取错误
让我分两部分来回应你的问题:
1. Azure Government的V2授权端点支持情况
在你遇到问题的2018年4月这个时间点,Azure Government并未完整实现V2授权端点。当时Azure AD Government的核心服务还是基于V1端点构建的,V2端点的支持是后续逐步向政府云环境推送的,直到之后的版本才完成全面覆盖。
2. 解决MSAL.JS的AADSTS50038错误
你遇到的错误AADSTS50038: The API version isn't supported,本质原因是当前Azure Government环境不支持V2端点,所以调用https://login.microsoftonline.us/organizations/v2.0/.well-known/openid-configuration会触发版本不兼容的报错。
针对单页应用(SPA)的场景,你需要切换到Azure Government的V1端点来实现令牌获取,具体调整如下:
- 修改MSAL.JS的初始化配置,将
authority参数指定为V1版本的政府云终结点:const msalInstance = new msal.UserAgentApplication({ auth: { clientId: "你的SPA客户端ID", authority: "https://login.microsoftonline.us/organizations/" } }); - 对应的OpenID配置文档地址也需要改为V1版本:
https://login.microsoftonline.us/organizations/.well-known/openid-configuration
如果后续Azure Government完成了V2端点的全面部署,你可以再切换回V2相关配置,但在2018年4月的时间节点,使用V1端点是唯一可行的解决方案。
内容的提问来源于stack exchange,提问作者MaxV
相关产品推荐
相关产品推荐

