Application Gateway后Web Apps认证验证失败致500错误求助
解决Azure App Service置于Application Gateway后EasyAuth回调URL路径错误问题
核心问题
my-app2的EasyAuth生成回调URL时丢失了/tools前缀,原因是App Service未感知到网关转发的原始路由路径,导致构建认证回调地址时路径不完整,进而触发invalid_grant错误。
解决步骤
1. 给Application Gateway添加路径前缀转发头
在网关的URL重写规则中,新增请求头X-Forwarded-Path,值设置为对应路由的路径前缀(即/tools),确保App Service能获取到原始访问路径的前缀信息。
2. 给my-app2配置路径前缀应用设置
在my-app2的应用设置中添加:
WEBSITE_AUTH_FORWARD_PATH_PREFIX = /tools
该配置会强制EasyAuth在生成回调URL时自动拼接指定的路径前缀。
3. 更新身份提供商的允许回调地址
在身份提供商后台,将允许的redirect_uri添加一条:https://my-gw.westeurope.cloudapp.azure.com/tools/.auth/login/<你的身份提供商名称>/callback
避免因回调地址不在白名单内导致的授权失败。
4. 保留已生效的代理配置
维持之前设置的:
forward_proxy_convention = "Custom" forward_proxy_custom_host_header_name = "X-Original-Host"
确保Host头能正确传递给App Service。
验证方式
- 触发my-app2的认证流程,查看EasyAuth日志,确认回调URL已包含
/tools前缀 - 检查身份提供商的请求日志,确认redirect_uri参数与配置的白名单地址一致
内容的提问来源于stack exchange,提问作者Gleb Nebolyubov
相关产品推荐
相关产品推荐

