本文介绍Google高版本cookie samesite策略相关问题
Google Chrome浏览器在高版本(现在观察80以上版本)修改了隐私策略,会导致iframe中的cookie可能出现如下问题(返回{"code”:"editing_request_error"}):
- 来自服务器的cookie无法写入
- iframe中的发送的网络请求无法将已有cookie带到服务端去。
以上两个结果会导致在iframe集成毕升office之后,服务器无法正常项客户端写入cookie,同时客户端也无法将cookie带到服务器端。因此在这种情况下无法通过cookie来完成鉴权。此时的备用方案是:毕升offic服务的 URL,以及网络连接url中将增加一个sid参数。该参数的作用是在cookie策略失败之后鉴权备选参数。如希望URL地址中出现sid参数,使用URL中的sid作为鉴权备用方案,可以在配置文件中添加配置,并仔细阅读下文提示:
在配置文件/bisheng_data/workspace/config/config.yml添加参数, 并restart.sh重启服务
security:
opensidarg: true #默认为false
securitycookie: true #默认为false,注意需要在配置了https情况下使用该参数,http不添加此参数。
opensidarg参数项为true将开启在URL中添加sid参数。
如果是在默认的情况下(opensidarg为false)请确保至少满足如下其中一条:
毕升office域名和office域名在同一域名下,或者office域名为用户服务域名的子域名,
或者用户office配置了https,并且开启securitycookie为true以保证cookie是安全写入(securitycookie为true)。
建议部署使用https,需要开启securitycookie配置项,并且保证opensidarg为false