能否获取同时适配management.azure.com与vault.azure.net受众的MSAL v2令牌?
问题解答
- 结论:无法获取同时适配
https://management.azure.com和https://vault.azure.net两个受众的单一令牌 - 原因:Azure AD的令牌作用域必须属于同一资源,不同资源的受众无法合并到单个令牌中。虽然部分文档提到多作用域请求,但仅支持同一资源下的多个权限范围,跨资源的作用域请求不会生成包含多受众的令牌。
- 解决方案:
- 分别请求两个资源的令牌:针对Azure资源管理请求
https://management.azure.com/.default作用域的令牌,针对Key Vault数据操作请求https://vault.azure.net/.default作用域的令牌 - 在应用中维护两个令牌的缓存与生命周期管理,执行对应操作时使用对应令牌
- 分别请求两个资源的令牌:针对Azure资源管理请求
补充:ADAL时代确实存在一些特殊场景支持多受众,但MSAL(当前推荐的认证库)严格遵循Azure AD的资源隔离规则,不再支持跨资源的单一令牌。
内容的提问来源于stack exchange,提问作者Thomas Kappler
相关产品推荐
相关产品推荐

