You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已启用身份验证的Azure App Service非交互式身份验证问题

非交互式调用Azure App Service托管Web API的解决方案

针对你遇到的问题,核心原因是当前App Service的身份验证配置偏向交互式场景,需要调整配置并确保Token的正确性,具体步骤如下:

1. 修改App Service身份验证的未认证请求处理方式

在Azure门户的App Service「设置」-「身份验证」页面,将Unauthenticated requests的设置从Return HTTP 302 Found (Redirect to identity provider)改为Return HTTP 401 Unauthorized。

  • 原配置是为浏览器类交互式场景设计的,会自动重定向到登录页;改为401后,App Service Auth模块才会正确解析请求中的Bearer Token,而非尝试重定向。

2. 确保托管标识获取的Token受众正确

使用托管标识获取Token时,必须指定正确的受众(Audience),即你的Web API的应用ID URI或客户端ID。例如,获取Token的请求中,scope参数应设置为:

api://<你的Web API客户端ID>/.default
  • 如果受众不正确,即使Token有效,App Service也会判定权限不足。

非交互式调用不需要这个Cookie。该Cookie是交互式登录后,App Service Auth模块生成的会话凭证,仅用于浏览器维持登录状态。直接使用正确的Bearer Token放在Authorization: Bearer <token>请求头中即可。

4. 验证Token有效性

可以解码Token检查以下内容:

  • aud(受众)字段是否匹配你的Web API的应用ID URI或客户端ID
  • iss(颁发者)是否为Azure AD的合法颁发地址(如https://login.microsoftonline.com/<租户ID>/v2.0)
  • Token是否未过期(exp字段为过期时间戳)

内容的提问来源于stack exchange,提问作者Mo B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:27:40