收藏
回答

我的小程序如何支持cookies---解决方法篇

问题模块
API和组件

我用的后台是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 怎么解码。。。。。



最后一次编辑于  2017-04-17  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • asmcos
    asmcos
    2017-04-19

    https://github.com/asmcos/JSJoke/tree/master/wxapp/passport-weapp-mongoose

    nodejs 端实现

    2017-04-19
    赞同
    回复
  • 天下雪|一现龙王
    天下雪|一现龙王
    2017-04-18

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

    2017-04-18
    赞同
    回复
  • asmcos
    asmcos
    2017-04-18

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

    代码在github 上, asmcos

    2017-04-18
    赞同
    回复
  • 天下雪|一现龙王
    天下雪|一现龙王
    2017-04-17
    1. passport操作方法

    2. 小程序头如何添加

    3. onheaders 怎么使用

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


    2017-04-17
    赞同
    回复