历史版本6 :单点登录常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本JAR 包版本HTTPS_SameSite_跨域插件
5.02019-04-03
V3.0

1.2 问题描述

谷歌浏览器 80 版本及以上单点登录失败,跳转到登录页,其他浏览器正常。

1.3 原因分析

由于 cookie 问题导致单点失败。

由于 Chrome 最新浏览器最新版本(80.0)及以上修改了安全策略,默认 SameSite 策略不允许 cookie 跨站发送,因此单点登录会失败。

1.4 解决思路

通用解决方案需关闭谷歌浏览器的SameSite by default cookies」选项,重启浏览器
http/https方案http 访问:统一主域名

https 访问:需要单点到的工程安装 HTTPS_SameSite_跨域插件,重启工程

2. 跨站简介编辑

Chrome 最新浏览器最新版本(80.0)及以上版本,不允许 cookie 跨站发送,会导致单点登录失败。

跨站的判断依据:

跨站是用 Public Suffix List 域名后缀列表 来判断的。

两个 URL ,顶级域名和次顶级域名内容(后面用 public suffix+1 指代)相同,为同站:

  • 顶级域名:从 Public Suffix List 域名后缀列表中匹配的最长后缀长度。

  • 次顶级域名:顶级域名前面的字段。

注:顶级域名列表可参见:顶级域名列表

示例:

比如 www.sina.com.cn 的 public suffix+1 是 sina.com.cnwww.sohu.com.cn 的 public suffix+1 是 sohu.com.cn, 两者不一样,所以不属于同一个站点;再比如 nanzhuang.taobao.com 的 public suffix+1 是 taobao.comnvzhuang.taobao.com 的 public suffix+1 也是 taobao.com,那么它俩就是同一个站点的。

3. 通用解决方案编辑

在谷歌浏览器地址栏中输入:chrome://flags/,然后在搜索框输入「SameSite」搜索并找到

「SameSite by default cookies」选项,右侧按钮选择「Disabled」,重启谷歌浏览器即可。如下图所示:

2.png

4. http/https方案编辑

4.1 http 访问

方案一:不跨站

参见本文第二章跨站说明。

保证两个工程的顶级域名、次顶级域名相同,比如 a.b.com 和 c.b.com,「.com」顶级,「b」是次顶级。
举例:bbs.fanruan.com、help.fanruan.com,顶级域名均为 .com,次级域名均为 fanruan,这样的两个工程则不会出现此问题。

方案二:升级为 https 

升级为 https 后,参考本文 4.2 节内容。

4.2 https 访问

4.2.1 安装插件

插件下载请点击:HTTPS_SameSite_跨域插件

插件安装方法请参见:插件管理 

4.2.2 具体步骤

设置跨域单点登录后,需要单点到的工程安装「HTTPS_SameSite_跨域插件」后,重启工程,即可实现跨站单点登录。

5. 注意事项编辑

谷歌最新的 91 版本无法手动关闭 samesite ,但是「HTTPS_SameSite_跨域插件」正常生效。

1622083125720085.png