历史版本6 :Safari浏览器跨域单点登录失败 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 场景描述编辑
在用 Safari 浏览器,或者用 H5 方式在移动端预览报表的时候,会发现跨域情况下,iOS 设备单点登录失败,安卓设备正常。
2. 提示编辑
注意确认移动端登录页面是原生页面还是 H5 页面,如果是原生页面,可以直接用我们原生的单点登录方式,这个不涉及跨域 。如果登录页面也是 H5 的,只能用常规的 JS 单点登录。
3. 原因编辑
Safari 浏览器安全级别比较高,跨域的情况下,默认不允许第三方 Cookie 写入,或者只允许访问过的网站写入。
4. 解决办法编辑
1、针对客户端浏览器,可以直接让他设置允许 Cookie 写入即可。
2、针对移动端 App 里的容器(比如 WebView),加两行代码,设置成接受 Cookie 即可。
NSHTTPCookieStorage *cook = [NSHTTPCookieStorage sharedHTTPCookieStorage];
[cook setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
相关文档连接:
Safari 跨域 Cookie策略:http://www.tuicool.com/articles/7biuIr6
WebView 设置接受 Cookie:http://ask.csdn.net/questions/23515