Safari浏览器跨域单点登录失败

编辑
  • 文档创建者:elaine
  • 浏览次数:5312次
  • 编辑次数:6次
  • 最近更新:Kevin-s 于 2019-06-09
  • 1. 场景描述

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

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

    2. 提示

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

    3. 原因

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

    4. 解决办法

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

    222

    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


    附件列表


    主题: 部署集成
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]