美文网首页
android WebView的Cookie跨域问题

android WebView的Cookie跨域问题

作者: 古都旧城 | 来源:发表于2019-05-16 15:13 被阅读0次

    问题表述

    • 现在的现象是 用户进入a.xxx.com域名之后,这个域名下会发起一个请求,这个请求是走到网关接口中请求数据,此时,网关接口没有获取到session,认为未登录,所以返回未登录状态码,xxx接受到状态码跳转到passeport登录,但是进入passeport登录页面之后,passeport获取到了session,认为已登录,又跳转回了xxx
    • 所以问题就在于,明明已经登录,但是网关接口没有获取到session
    • 我们找了网关负责人来看,他看了抓包信息,他说请求里面没有携带上session,这个session是通过请求时候定的一个值传过去的
    • 前端发送请求的时候会打开 一个值,有了这个值就会可以不同域名访问session
    代码片段

    问题原因

    其实这个问题发生是由于虽然h5允许跨域了可以共享cookie,但是客户端没有允许跨域,获取不到cookie,所以出现上面的问题。

    解决方案

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          cookieManager.setAcceptThirdPartyCookies(mWvCustom, true);//TODO 跨域cookie读取
    }
    

    简述:
    LOLLIPOP(21)及以上,默认不允许跨域访问cookie信息,因此设置为true即可。

    参考文章:https://blog.csdn.net/denglusha737/article/details/83684488

    相关文章

      网友评论

          本文标题:android WebView的Cookie跨域问题

          本文链接:https://www.haomeiwen.com/subject/pleiaqtx.html