公开React应用能否用Microsoft Entra ID实现Azure Maps匿名认证?
关于Azure Maps匿名公开应用的Entra ID认证方案
Microsoft Entra ID完全适用于无需用户登录的公开匿名应用,不需要终端用户拥有微软账号,核心是通过后端代理获取令牌,避免前端暴露敏感凭据。
具体实现逻辑
- 不用让终端用户登录,而是在你的后端部署一个服务主体(或利用Azure托管标识),给这个服务主体分配Azure Maps的「Maps Reader」最小权限角色。
- 后端提供一个接口,用服务主体的凭据(客户端ID+密钥/证书)向Entra ID申请Azure Maps专属访问令牌(受众固定为
https://atlas.microsoft.com/)。 - React前端每次需要调用Azure Maps服务时,先向你的后端接口请求令牌,拿到令牌后再初始化地图控件或调用API。
优势对比
- 彻底避免前端暴露订阅密钥或任何敏感凭据,比直接用订阅密钥的匿名方案更安全。
- 支持匿名访问场景,终端用户全程无需登录微软账号,完全符合你的公开应用需求。
注意事项
- 后端要做好令牌缓存,避免频繁向Entra ID发起请求,提升性能并减少开销。
- 令牌默认有效期1小时,前端需要处理令牌过期后的自动刷新逻辑(比如提前5分钟请求新令牌)。
内容的提问来源于stack exchange,提问作者Nandhini
相关产品推荐
相关产品推荐

