美文网首页
小程序的会话保持与用户登陆

小程序的会话保持与用户登陆

作者: ozil_oo | 来源:发表于2018-08-07 09:03 被阅读0次

    会话(session)

    小程序会话是通过wx.login()建立,通过wx.checkSession()检查是否过期。
    wx.login()会返回一个code,把code传给服务端,服务端用code``appid``appsecret通过
    https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
    就可以拿到openid``session_key
    session_key用一定加密方式如sha1(session_key, mt_rand())生成一个自己的sessionid,暂时叫它skey
    把这三个数据存入redis(数据库,本地文件, memcache等存储引擎都行),并且把skey返回给客户端,客户端每次请求在请求头中带上skey就可以进行业务请求了

    用户

    用户是通过<button open-type="getUserInfo" bindGetUserInfo="getUserInfo">授权登陆</button>点击之后就会弹出微信授权页面,同意后就会获得用户信息(如果通过wx.getSetting()检查已授权,可以直接调用wx.getUserInfo())

    参数 类型 说明
    userInfo OBJECT 用户信息对象,不包含 openid 等敏感信息
    rawData String 不包括敏感信息的原始数据字符串,用于计算签名。
    signature String 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,参考文档 signature
    encryptedData String 包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法
    iv String 加密算法的初始向量,详细见加密数据解密算法

    然后把这些信息传给后端后端可以进行签名比对 和 敏感数据(unionid``openid)解密

    相关文章

      网友评论

          本文标题:小程序的会话保持与用户登陆

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