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

Azure托管.NET Core应用使用Azure AD单租户认证出现登录登出循环问题

问题根因

该现象是.NET Core默认的Data Protection密钥配置缺陷导致的会话冲突:
Azure托管的.NET Core应用默认将加密认证Cookie的Data Protection密钥存储在进程内存中,每次发布新版本、应用重启、实例扩容时,原有密钥会被自动重置。旧的用户登录Cookie无法被新密钥解析,应用会强制触发重新认证,而Azure AD侧仍保留用户的登录态,二者冲突就会出现反复要求登录、登出的死循环。

开发侧永久解决方案

完成以下配置后,后续发布新版本不会再出现该问题:

  • 配置Data Protection密钥持久化存储,避免发布后密钥丢失
    在Program.cs中添加如下配置,将密钥存储到Azure Blob Storage,同时可搭配Azure Key Vault做密钥加密:
using Azure.Identity;
using Microsoft.AspNetCore.DataProtection;

// 省略其他配置代码
builder.Services.AddDataProtection()
    // 将密钥持久化到Azure Blob存储
    .PersistKeysToAzureBlobStorage(new Uri("<你的Blob存储容器对应的SAS URI>"))
    // 可选:用Azure Key Vault加密存储的密钥,提升安全性
    .ProtectKeysWithAzureKeyVault(new Uri("<你的Key Vault中加密密钥的URI>"), new DefaultAzureCredential());
  • 固定认证Cookie名称,避免系统随机生成Cookie名导致的会话识别异常
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.Identity.Web;

// 省略其他配置代码
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd"))
    .EnableTokenAcquisitionToCallDownstreamApi()
    .AddInMemoryTokenCaches();

// 固定认证Cookie配置
builder.Services.Configure<CookieAuthenticationOptions>(CookieAuthenticationDefaults.AuthenticationScheme, options =>
{
    options.Cookie.Name = "YourAppName.Auth.Cookie";
    options.Cookie.SameSite = SameSiteMode.Lax;
    options.SlidingExpiration = true;
});

非IT终端用户临时规避方法

以下方法操作简单,按步骤执行即可立刻解决问题:

  • 【推荐 1分钟完成】使用浏览器隐私/无痕模式访问
    打开Chrome/Edge浏览器后,按快捷键Ctrl + Shift + N(苹果Mac系统按Command + Shift + N)打开无痕窗口,直接输入应用地址登录即可。
  • 【不影响其他网站数据】仅清除当前应用相关的Cookie
    1. 打开出现登录问题的应用页面,点击浏览器地址栏最左侧的「锁形图标」
    2. 在弹出的菜单中选择「Cookie」选项
    3. 选中所有和当前应用域名、microsoftonline.com相关的条目,点击删除
    4. 关闭浏览器重新打开,访问应用即可正常登录
  • 【零操作成本】更换其他浏览器访问
    如果你平时用Chrome访问该应用,换成Edge/Firefox即可直接正常登录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:24:07