反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

谷歌/火狐浏览器单点登录失败

  • 文档创建者:知识库
  • 历史版本:18
  • 最近更新:Suki陈 于 2023-02-23
  • 1. 概述

    1.1 版本

    报表服务器版本JAR 包版本HTTPS_SameSite_跨域插件
    10.02019-01-31V3.0

    1.2 问题描述

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

    1.3 原因分析

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

    谷歌浏览器 80.0 及以上版本、火狐浏览器 96.0 及以上版本均修改了安全策略,默认 SameSite 策略不允许 cookie 跨站发送,因此单点登录会失败。

    1.4 解决思路

    谷歌通用解决方案
    需关闭谷歌浏览器的SameSite by default cookies」选项,重启浏览器
    http解决方案统一主域名
    https解决方案需要单点到的工程安装 HTTPS_SameSite_跨域插件,重启工程

    2. 跨站简介

    谷歌浏览器 80.0 及以上版本、火狐浏览器 96.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. 临时解决方案

    注1:这一方案同样适用于其他谷歌内核浏览器,如新 edge(访问edge://flags/)、360 安全浏览器(访问se://flags/)等,但不适用于 91 及以上版本的谷歌内核浏览器。

    注2:本章提供方案是通过修改谷歌的设置解决的,每台访问的电脑都需要修改谷歌的设置,使用体验差,不太推荐;推荐参考本文第四章方案。

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

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

    在实验室中设置Samesite_by_default_cookies选项

    4. http解决方案

    http 访问:统一主域名。

    谷歌浏览器、火狐浏览器、360极速浏览器均可通过此方案解决。

    参见本文第二章跨站说明。保证两个工程的顶级域名、次顶级域名相同,比如 a.b.com 和 c.b.com,「.com」顶级,「b」是次顶级。

    举例:bbs.fanruan.com、help.fanruan.com,顶级域名均为 .com,次级域名均为 fanruan,这样的两个工程则不会出现此问题。

    5. https解决方案

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

    谷歌浏览器、火狐浏览器、360极速浏览器均可通过此方案解决。

    5.1 插件下载

    插件下载:HTTPS_SameSite_跨域

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

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

    5.2 插件使用

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

    6. 注意事项

    谷歌最新的 91 版本无法手动关闭 samesite ,samesite 属性全都会默认开启,单点全都会失败,但是「HTTPS_SameSite_跨域插件」正常生效。

    1622083032745148.png

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526