8***@qq.com
8***@qq.com
  • 发布:2020-08-11 19:56
  • 更新:2020-09-18 15:52
  • 阅读:5377

uniapp打包APP如何使用cookie

分类:uni-app

uniapp本身的uni.request不能在head中添加cookie,但是项目又必须使用无法绕过。最终在官方文档找到了替代方案,https://github.com/charleslo1/weapp-cookie
这个方案,可是研究了一下,并不能成功,可能是我使用的方法不对,有没有使用过的大神可以给个建议谢谢啦~~

2020-08-11 19:56 负责人:无 分享
已邀请:
莫扎特555

莫扎特555

兄弟你解决了吗

DCloud_Android_DQQ

DCloud_Android_DQQ

uni.request 可以正常使用 cookie.
cookie内容可以有两个来源:
1 正常的服务器 set-cookies 响应头设置
2 unirequest 手动设置header中的cookie字段。 但是会替换掉http自带的cookie

如果使用遇到问题。 可以把代码贴出来。

  • 莫扎特555

    在移动端使用cookie行不通,也无法设置,用官网提供的方法,不知道是我写错了,还是本来就有问题https://github.com/charleslo1/weapp-cookie

    2020-09-18 15:44

  • DCloud_Android_DQQ

    回复 莫扎特555: 你这个组件是 操作储存在本地的cookie. 目前确实不支持。会有安全隐患。

    2020-09-18 15:53

  • 小权

    回复 DCloud_Android_DQQ: 那app端应该如何解决,服务端要求使用cookie,比如做CSRF防伪验证等

    2020-12-14 11:15

  • DCloud_Android_DQQ

    回复 小权: cookie是一个web开发的概念。 app端配置储存方案是主要是操作storage。

    2020-12-14 11:24

  • 小权

    回复 DCloud_Android_DQQ: uni-app数据访问本质上还是web啊。服务端会自动判断客户端是否是浏览器端,如果是,则会自动配合cookie做防伪验证。如果非浏览器端才会绕过验证。

    2020-12-14 11:33

  • DCloud_Android_DQQ

    回复 小权: 是啊。 uni-app 支持 服务器通过 set-Cookie 等标准http协议设置cookie啊。 上面那哥们的问题是 他想在本地 通过set get操作cookie.

    2020-12-14 11:40

  • 小权

    回复 DCloud_Android_DQQ: 哦,但是app端uni.request不会在header中带上cookie吧?我在H5看到header中是带上的,所以请求没问题,但到手机运行就不行了。应该怎么解决呢?

    2020-12-14 15:20

  • DCloud_Android_DQQ

    回复 小权: uni.request 会带上cookie的。 如果你那边有问题。 重新开个帖子。 留一下可以复现问题的demo

    2020-12-14 15:27

  • 小权

    回复 DCloud_Android_DQQ: 我看官方文档写的是“H5端会自动带上cookie不可手动覆盖”,这个是指app端也是会带上吗?我现在的问题就是在chrome浏览器访问服务端正常,在app上访问,服务端提示缺少防伪参数。如果能确定uni.request在app端也是会在header带上cookie信息的话,那可能又是其他问题了。感谢你的回复。

    2020-12-14 15:39

  • 小权

    回复 DCloud_Android_DQQ: 另外,我看官方文档还有一句:注意非 H5 端不支持自动保持 cookie,服务器应避免验证 cookie。

    2020-12-14 15:44

  • DCloud_Android_DQQ

    回复 小权: 描述问题,我们讨论一下修改文案的可行性

    2020-12-14 15:46

该问题目前已经被锁定, 无法添加新回复