Azure Function EasyAuth 401响应头缺失authorization_uri如何解决
新版EasyAuth(身份验证v2栈)默认精简了401响应的WWW-Authenticate头返回字段,无需修改业务代码、无需额外集成身份验证SDK,仅通过调整应用配置即可补全所需字段,满足Power BI组织凭据的校验要求。
配置步骤
- 进入目标Azure Function在Azure门户的配置页面,打开「应用程序设置」板块
- 新增如下应用配置项,填写完成后点击保存,重启函数应用即可生效:
- 配置项名称:
MICROSOFT_PROVIDER_AUTHENTICATION_POPULATE_WWWAUTHENTICATE_HEADER - 配置项值:
true
- 配置项名称:
效果验证
重启完成后,发起无认证信息的请求到函数接口,查看401响应的WWW-Authenticate头,开启配置后会自动补全所有所需字段,返回格式参考:
WWW-Authenticate: Bearer realm="<你的函数应用默认域名>", authorization_uri="https://login.microsoftonline.com/<你的Azure AD租户ID>/oauth2/authorize", resource_id="<Azure AD注册应用的客户端ID>", client_id="<Azure AD注册应用的客户端ID>"
确认头中存在authorization_uri字段后,即可直接在Power BI中使用组织凭据连接函数接口,原有EasyAuth的令牌校验、未授权拦截逻辑完全不受影响。
基础设施即代码部署适配
如果使用Bicep、Terraform或ARM模板做自动化部署,只需要将上述应用配置项加入Function App的应用设置集合即可,不需要修改原有EasyAuth的身份提供程序配置,原有鉴权规则全部保留。
内容的提问来源于stack exchange,提问作者Kevin Stone
相关产品推荐
相关产品推荐

