【问题标题】:Cordova app no longer sends cookies in its httprequestsCordova 应用程序不再在其 httprequests 中发送 cookie
【发布时间】:2016-01-19 04:14:37
【问题描述】:

我有一个在 Android 手机(Galaxy S6 Edge、Android 5.1.1)上运行的 Ionic (Cordova/Angular) 应用程序。 此应用程序与用户必须先登录的服务器通信。

登录后,通过在 $http 调用中包含 withCredentials=true,从服务器接收到的身份验证 cookie 会在每次请求时自动发送回服务器。

例如:

$http({
                method: 'POST',
                url: LoginStatusUrlMobile,
                responseType: 'document',
                withCredentials: true
            })

这曾经有效,但本周末不再发送 cookie,应用程序也不再有效。 我尝试了几件事来弄清楚发生了什么:

  • 是 Chrome 46 的新版本吗? => 我在我的手机上卸载了 Chrome 和 Chrome webview 的更新,但这没有任何区别

  • 在我的开发环境中,该应用程序仍然可以运行(Mac 上的 Chrome 版本 46.0.2490.71 使用 --disable-web-security 转同源策略)

  • 我尝试在 Genymotion 中运行该应用程序,这在运行 Android 4.4.4 的虚拟设备上运行,但它没有在运行 Android 5.1.0 的虚拟设备上发送 cookie

  • 该应用程序也可在 iOS 上运行,我尚未对其进行彻底测试,但它在装有 iOS 8.1 的 iPad 上运行正常

这是我现在的情况,我的问题是: 当 withCredentials=true 似乎不再起作用时,有谁知道如何通过角度 $http 请求将 cookie 发送回服务器。

【问题讨论】:

    标签: angularjs cordova cookies ionic


    【解决方案1】:

    我通过删除 Android 平台然后重新创建它找到了解决方案。 之后,我按照here 的说明添加了cordova-whitelist-plugin。

    现在一切都恢复正常了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 2021-10-06
      • 2012-01-16
      • 2015-09-17
      • 2017-02-10
      • 1970-01-01
      相关资源
      最近更新 更多