IdentityServer4 突然登录就不香了?SameSite?

  • A+
所属分类:.NET技术
摘要

自己的一个使用了IdentityServer4 的单点登录demo项目,突然就登录不好使了,一直在登录页,调试了一下返现登录流程也走了,也登录成功了,就是跳转的时候又回到了登录页,百思不得其解。知道后来在控制台看到了这个;

自己的一个使用了IdentityServer4 的单点登录demo项目,突然就登录不好使了,一直在登录页,调试了一下返现登录流程也走了,也登录成功了,就是跳转的时候又回到了登录页,百思不得其解。知道后来在控制台看到了这个;

IdentityServer4 突然登录就不香了?SameSite?

 

 点开发现了这个;

IdentityServer4 突然登录就不香了?SameSite?

 

 英文不好翻一下;

IdentityServer4 突然登录就不香了?SameSite?

 

 

现在知道这是一个cookie跨域的问题,我又去验证了一下,在谷歌浏览器下登录一直还在登录页,我换成edge浏览器,登录之后就会自动跳转,没问题;感觉问题应该是谷歌浏览器更新了,更新了啥协议啥的;

要怎么解决呢?我也还不知道呀,于是就打开了百度,  搜索 .net core SameSite ;

在微软的官方文档里  https://docs.microsoft.com/zh-cn/aspnet/core/security/samesite?view=aspnetcore-3.1 就有对应的描述,大家可以看下;

这里我就说一下我是怎么解决这个问题的;

//ConfigureServices 添加 services.Configure<CookiePolicyOptions>(options =>             {                 options.MinimumSameSitePolicy = SameSiteMode.Lax;             }); 
//Configure 添加 app.UseRouting(); app.UseCookiePolicy(); app.UseIdentityServer();

SameSiteMode.Lax 意思是 cookie 可以是相同站点请求和跨站点。
启动项目,用谷歌浏览器再次登录,已经可以正常跳转了;