关于小程序webview共享http会话的冲突问题

微信小程序,微信公开课,关于小程序webview共享http会话的冲突问题 微信公开课

微信公开课小程序热门讨论关于「小程序webview共享http会话的冲突问题」的小程序开发问题
补充:小程序webview共享http会话的冲突问题
展开:我们公司在小程序开发使用webview组件时,碰到多个小程序之间共享cookie所导致的冲突问题业务场景:我们为多个客户的小程序,提供统一URL的云端API,这些API基于HTTPS协议提供服务,并且通过COOKIE中的SESSIONID来保持会话状态分别有A、B、C三个小程序同时使用我们的API服务例如,用户登录调用API:https:abccomapilogin,这个API将在COOKIE中设置一个SESSIONID来保持会话状态SetCookie:sessionid=12345此行为将同时改变:小程序A、小程序B、小程序所使用webview组件中的COOKIE这样就导致了无法识别当前用户具体是在哪个小程序中进行操作这个问题只出现在webview组件中,小程序中的接口wxrequest不受影响但是我们我们的业务有部分内容必须通过webview完成希望能完善这个问题,能够让每个小程序的webview组件独享http会话,与其它小程序隔离即速小程序:这照样还是会冲突的,如果小程序A的cookie已经有一个值:appid=12345,那么用户再打开小程序B登录,就会重新生成一个appid=456789,会同时把小程序Acookie中的appid替换掉简单点描述:所有小程序的webview组件是共享cookie的,就像我们同一个浏览器里,acom和bcom同时跨域调用了apicom的API,这个API在COOKIE中生成一个SESSIONID,会同时作用到acom和bcom如果我想acom和bcom在使用apicom下的资源保持独立的会话,那么我就需要两个不同进程的浏览器分别访问acom和bcom而目前的情况是,小程序的webview组件,是共享同一个http进程的,这样就避免不了的不同小程序之间COOKIE冲突的问题,而且可能存在安全问题,比如小程序B获取小程序A中调用API后所生成的SESSIONID,从而截取会话解决这个问题,就是每个小程序的webview能够有独立的http进程线程会话:小程序调用登录api的时候应该会把appid带在header里发给服务器,服务器在回写的cookie字段里带上这个appid是不是就可以了
更多有关「小程序webview共享http会话的冲突问题」的讨论可以前往微信公开课小程序参与互动哦!了解更多

「关于小程序webview共享http会话的冲突问题」热门讨论订阅

微信小程序,微信公开课,关于小程序webview共享http会话的冲突问题
订阅小程序

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「关于小程序webview共享http会话的冲突问题」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「关于小程序webview共享http会话的冲突问题」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「关于小程序webview共享http会话的冲突问题」

微信公开课小程序热门讨论「关于小程序webview共享http会话的冲突问题」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「关于小程序webview共享http会话的冲突问题」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。