历史版本2 :Safari浏览器跨域单点登录失败 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

场景描述编辑

在用Safari浏览器,或者用H5方式在移动端预览报表的时候,会发现跨域情况下,ios设备单点登录失败,安卓设备正常。

H5方式查看报表参见文档:移动端h5插件  ,单点登录参见文档:单点登录

提示编辑

注意确认移动端登录页面是原生页面还是H5页面,如果是原生页面,可以直接用我们原生的单点登录方式,这个不涉及跨域,原生页面集成参见文档:sdk集成 。如果登录页面也是H5的,只能用常规的js单点登录。

原因编辑

Safari浏览器安全级别比较高,跨域的情况下,默认不允许第三方cookie写入,或者只允许访问过的网站写入。

解决办法编辑

1、针对客户端浏览器,可以直接让他设置允许cookie写入即可。
222

2、针对移动端app里的容器(比如webview),加两行代码,设置成接受cookie即可。
NSHTTPCookieStorage *cook = [NSHTTPCookieStorage sharedHTTPCookieStorage]; [cook setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];


相关文档连接:
safri跨域cookie策略:http://www.tuicool.com/articles/7biuIr6
webview设置接受cookie:http://ask.csdn.net/questions/23515