本身的一個使用了IdentityServer4 的單點登陸demo項目,忽然就登陸很差使了,一直在登陸頁,調試了一下返現登陸流程也走了,也登陸成功了,就是跳轉的時候又回到了登陸頁,百思不得其解。知道後來在控制檯看到了這個;跨域
點開發現了這個;瀏覽器
英文很差翻一下;cookie
如今知道這是一個cookie跨域的問題,我又去驗證了一下,在谷歌瀏覽器下登陸一直還在登陸頁,我換成edge瀏覽器,登陸以後就會自動跳轉,沒問題;感受問題應該是谷歌瀏覽器更新了,更新了啥協議啥的;app
要怎麼解決呢?我也還不知道呀,因而就打開了百度, 搜索 .net core SameSite ;spa
在微軟的官方文檔裏 https://docs.microsoft.com/zh-cn/aspnet/core/security/samesite?view=aspnetcore-3.1 就有對應的描述,你們能夠看下;.net
這裏我就說一下我是怎麼解決這個問題的;3d
//ConfigureServices 添加 services.Configure<CookiePolicyOptions>(options => { options.MinimumSameSitePolicy = SameSiteMode.Lax; });
//Configure 添加 app.UseRouting(); app.UseCookiePolicy(); app.UseIdentityServer();
SameSiteMode.Lax 意思是 cookie 能夠是相同站點請求和跨站點。啓動項目,用谷歌瀏覽器再次登陸,已經能夠正常跳轉了;