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

如何在Azure应用服务中配置带Azure AD身份验证的Shiny应用

AzureAuth配合Shiny在Azure部署的配置指南与问题解决

核心参数与Azure门户配置对应规则

  • tenant:填写Azure应用注册页的目录(租户) ID,和你截图中标注的对应字段一致即可
  • app:填写Azure应用注册页的应用程序(客户端) ID,和你截图中标注的对应字段一致即可
  • resource:该字段为请求的权限范围,不要替换为门户显示的授权端点地址。如果仅需要基础身份校验,保留你当前的"openid"配置即可;如果后续需要调用Azure管理接口,再补充"https://management.azure.com/.default"。
  • redirect:必须和你在Azure应用注册中配置的重定向URI完全一致,正确填写格式为https://myapp.azurewebsites.net/.auth/login/aad/callback,不要直接填写应用根地址。

身份验证后500错误解决方案

你遇到的错误是Azure App Service自带的身份验证中间件,和Shiny侧AzureAuth包的OAuth逻辑发生冲突,双重鉴权导致请求头体积超出限制触发报错,可根据场景选择以下方案修复:

  • 方案1:关闭Azure App Service自带的身份验证中间件,所有身份校验逻辑完全交由Shiny侧的AzureAuth处理,避免重复鉴权导致的请求头堆叠。
  • 方案2:如果需要保留Azure自带中间件,进入App Service的「配置」-「应用程序设置」页,添加配置项WEBSITE_AUTH_DISABLE_IDENTITY_FLOW = true,禁用中间件自动向请求注入的身份标识头,降低请求头体积。
  • 方案3:若以上方案仍不生效,可修改Shiny启动参数,放大允许的请求头上限,启动参考命令为:
shiny::runApp(
  host = "0.0.0.0", 
  port = 3838, 
  options = list(
    "http.maxHeaderSize" = 64 * 1024
  )
)

内容的提问来源于stack exchange,提问作者Dean MacGregor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:45:06