OIDC SameSite Secure 问题
OIDC SameSite Secure 问题
OpenIDConnect 报错 “Correlation failed.”
描述
ASP.NET Core 中使用 OpenIDConnect 连接到 IdentityServer4 ,在登录回调 /signin-oidc 时,报错 Correlation failed.
。
原因
浏览器的 SameSite 安全策略 Secure 导致 Cookie 不能被设置。
解决
将 Cookie 的 Secure 属性设置为 True,在 ASP.NET Core 中的代码为:
1 | services.Configure<CookiePolicyOptions>(options => |
或者
1 | services.Configure<CookiePolicyOptions>("命名实例", options => |
或者
1 | services.AddAuthentication( options = > |
然后一定要记得调用 cookie 策略中间件:
1 | // 在 UseAuthentication 或任何其他写入 cookie 的东西之前。 |
https://docs.microsoft.com/zh-cn/aspnet/core/security/samesite?view=aspnetcore-5.0