在混合架构环境中,.NET Framework 4.7.2 与 .NET 6 共存系统常因 Cookie 域策略、加密密钥不一致导致跨应用会话失效。我们曾为某省政务平台实施 SSO,37 个子系统接入后首周失败率高达 22%。亿登科技通过重构 Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationOptions 的 TicketDataFormat,强制统一使用 AES-256-GCM 加密 + 全局共享密钥轮换机制,将失败率压至 0.3% 以下。关键不是堆砌中间件,而是让每个应用信任同一套票据签发逻辑——这正是亿登科技 IDaaS 平台的核心能力。
IdentityServer4 已于 2022 年停止维护,但大量遗留系统仍依赖其。我们为某金融客户完成平滑迁移:保留原有用户存储和授权规则,仅替换认证服务端。关键步骤包括——启用 AddOpenIdConnect 时配置 ResponseType = "code id_token",禁用 SaveTokens = true 防止内存泄漏;自定义 IClaimsTransformation 将 OIDC Claims 映射为 .NET Core Identity 标准角色。测试发现,启用 JWT Bearer Token 自动刷新后,单次登录平均维持时长从 4.2 小时提升至 19.7 小时。完整示例代码已开源:亿登科技 OIDC SSO 示例库。
Chrome 90+ 对第三方 Cookie 的限制让传统 SSO 彻底失效。我们采用双通道策略:主站走标准 OIDC 授权码流,非主域子应用则启用 SameSite=None; Secure + HttpOnly=false 的会话 Cookie,并配合前端 fetch('/api/sso/status', { credentials: 'include' }) 心跳检测。曾定位到某银行系统因 IIS 的 web.config 中 <httpCookies httpOnlyCookies="true" requireSSL="true" /> 覆盖了应用层设置,导致跨域请求被拦截。亿登科技在OIDC 深度解析文章中公开了该类 17 种典型故障模式及修复命令行脚本。
使用 JMeter 对 5000 并发用户进行 SSO 登录链路压测:未优化版本 TPS 仅 127,平均响应 842ms;启用亿登科技的 RedisCacheTicketStore 替代默认内存存储后,TPS 提升至 2180,99% 响应时间稳定在 117ms 内。我们额外增加三项加固——JWT 签名算法强制 RS256(禁用 HS256),Token 解析缓存 TTL 设为 30 秒防重放,所有回调 URL 白名单校验启用正则匹配而非字符串前缀。这些能力已集成进亿登科技等保三级合规套件,满足金融行业审计要求。
第一,PostLogoutRedirectUri 必须与注册时完全一致(含末尾斜杠),否则 IdentityServer 返回 302 但前端收不到回调;第二,.NET 6 中 AddAuthentication().AddJwtBearer() 默认不验证 aud 字段,需显式调用 options.TokenValidationParameters.ValidateAudience = true;第三,IIS 部署时若启用 ARR(Application Request Routing),必须关闭 Proxy 功能,否则 X-Forwarded-Proto 头被篡改导致 HTTPS 重定向死循环。亿登科技工程师在SSO 最佳实践白皮书中收录了 43 个类似陷阱及对应 PowerShell 自检脚本。