ASP.NET Core Azure网站Azure AD认证24小时后重定向循环及502.3错误排查
解决Azure网站上ASP.NET Core + Azure AD认证24小时后循环重定向及502.3错误的问题
这种24小时后才出现的认证循环+网关错误,大概率和令牌过期、会话状态配置或者Azure网站的应用池回收机制有关,结合你提到的截断日志“Aut...”(应该是Authentication相关的报错),我整理了几个最常见的排查方向和解决办法:
1. 先排查会话与Cookie的持久化配置
ASP.NET Core的认证会话默认依赖内存缓存和Cookie,但Azure App Service的应用池会定期回收(默认24小时左右),内存里的会话数据一丢,就会触发重复认证流程:
- 把会话存储改成分布式缓存(比如Azure Redis Cache),避免应用池回收丢失数据,代码示例如下:
builder.Services.AddStackExchangeRedisCache(options => { options.Configuration = builder.Configuration.GetConnectionString("RedisConnection"); options.InstanceName = "AuthSession"; }); builder.Services.AddSession(options => { options.IdleTimeout = TimeSpan.FromHours(48); // 根据业务调整超时时间 options.Cookie.HttpOnly = true; options.Cookie.IsEssential = true; }); - 同时调整认证Cookie的过期策略,避免过早失效:
builder.Services.ConfigureApplicationCookie(options => { options.ExpireTimeSpan = TimeSpan.FromDays(7); options.SlidingExpiration = true; // 活动时自动延长有效期 });
2. 调整Azure网站的应用池回收设置
Azure App Service默认会在24小时无操作后回收应用池,这是触发问题的常见诱因:
- 登录Azure门户,进入你的App Service,找到配置 > 常规设置,把应用池回收的时间间隔调长(比如设为72小时),或者改成“按需回收”;
- 如果你的定价层支持,开启始终开启选项,避免应用因为闲置被强制回收。
3. 检查OpenID Connect的状态验证逻辑
/signin-oidc端点循环重定向,很多时候是状态参数验证失败——应用重启后内存里的状态缓存丢了,就会和Azure AD的认证端点反复交互:
- 把OpenID Connect的状态缓存也改成分布式存储,替换默认的内存缓存:
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd")) .EnableTokenAcquisitionToCallDownstreamApi() .AddDistributedTokenCaches(); // 改用分布式缓存存储令牌和状态 - 再核对Azure AD应用注册里的重定向URI,必须和你网站的回调地址完全一致(包括HTTPS前缀、域名、路径),任何细微差异都会导致回调失败触发循环。
4. 深挖502.3网关错误的根源
502.3本质是应用处理请求超时或崩溃,结合认证场景来看:
- 检查Azure App Service的请求超时设置(默认230秒),如果你的应用在验证令牌、访问缓存时耗时过长,可以适当调大这个值;
- 一定要看完整的应用日志,别只盯着截断的“Aut...”记录——在Azure门户的日志流里看实时日志,或者启用应用服务日志下载完整文件,找到Authentication相关的完整报错信息(比如令牌签名验证失败、缓存连接异常等)。
5. 验证刷新令牌的配置
如果你的应用需要长期保持登录状态,得确保刷新令牌能正常工作:
- 确认Azure AD应用注册里已经勾选了offline_access权限,这样才能获取到刷新令牌;
- 代码里要确保令牌缓存配置正确,能自动用刷新令牌获取新的访问令牌,而不是每次都跳转到认证页面。
按照上面的步骤逐一排查,应该能定位到问题。如果还是解决不了,建议把完整的认证相关日志贴出来,能更精准地分析。
内容的提问来源于stack exchange,提问作者statto
相关产品推荐
相关产品推荐

