反馈已提交

网络繁忙

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

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

  • 文档创建者:葱香香
  • 历史版本:10
  • 最近更新:Wendy123456 于 2021-04-26
  • 1. 问题描述

    跨域情况下,使用 Safari 浏览器或其他 H5 方式在移动端预览报表时,iOS 设备单点登录失败,Android 设备正常。

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

    2. 原因分析

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

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

    3. 解决方案

    1)针对客户端浏览器,设置允许 Cookie 写入即可。如下图所示:

    222

    2)针对移动端 App 里的容器(比如 WebView),用户有自己的 App 框架前提下,需要用户自己的研发人员加两行代码,设置成接受 Cookie 即可。如下图所示:

    9.png

    代码如下所示:

    NSHTTPCookieStorage *cook = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    [cook setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

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

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

    总裁办24H投诉

    热线电话:173-1278-1526