我的小程序如何支持cookies---解决方法篇
发布于 6 年前 作者 shenyan 13878 次浏览 来自 问答

我用的后台是nodejs + passport + mongodb

  1. 第一步 wx.request  将login 的数据传输到后台  code,iv,encryptedData,

    encryptedData 使用 encodeURIComponent

  2. nodejs 接收数据 后  decodeURIComponent(req.query.encryptedData) ,code,iv 用官方库解码。

    获取用的头像、openID,昵称

  3. 保存信息到数据库

  4. 这是后 passports 改返回了。 正常系统回往http 加一个 返回头  set-cookies

  5. 但是小程序 不处理 这个头,因此我们获取不了sessionid,

    我们必须翻一个json数据,这个数据里面有sessionid

  6. 因此我们需要拦截 set-header ,用nodejs onHeaders方法。在这里返回 header 给 小程序

  7. 小程序获取sessioid后,每次请求都要加上。

具体代码我放在 github /asmcos 里面了。

如果需要我详细解释代码,可以在这里留言。细节非常多。

涉及

  1. passport操作方法

  2. 小程序头如何添加

  3. onheaders 怎么使用

  4. 小程序的 encryptedData 怎么解码。。。。。


4 回复

不知道管理员是否允许我粘贴网址或者代码。

代码在github 上, asmcos

贴一个github的类似文章的网址吧,这样别人方便看    

  1. passport操作方法

  2. 小程序头如何添加

  3. onheaders 怎么使用

  4. 小程序的 encryptedData 怎么解码。。。。。

回到顶部