微信小程序> 微信小程序---登陆安全认证

微信小程序---登陆安全认证

浏览量:2580 时间: 来源:知末随未

1.session_key和openId是什么?session_key
官方说明为:
session_key是微信服务器生成的针对用户数据进行加密签名的密钥
session_key的用途
(1)对wx.getUserInfo()接口得到“用户信息中的密文”进行解密。
(2)对它“稍作处理”,用作维护小程序的登录态。
“稍微处理”大体为:
(1)生成一个随机数(官方把他叫做3rd_session)
(2)把这个随机数当session的key,session_key + openid为value。
即:session[3rd_session]=session_key+openid
openIdopenId:用户唯一标识
即:每个微信用户在你的小程序的唯一的标识。

2.首先在app.js里获取code,写入以下代码:

 wx.request({          url: 'http://wangchaow.hk01.bdysite.com/server/index.php/home/index/session',          data:{            code:res.code          },          success:res=>{            console.log(res)            wx.setStorage({              key: 'session_id',              data: res.header['Set-Cookie'],            })          }        })

然后在控制器写入 以下代码:

public  function session($code){     if(empty($code)) return false;     $appid="wxffc9166906e3df54";     $secret="bb4588daadc78cb462a383f3ba0478e7";     $url="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";     $ret=https_get($url);     $arr=json_decode($ret,true);     if(isset($arr['openid'])&&isset($arr['session_key'])){     session('openid',$arr['openid']);     session('session_key',$arr['session_key']);     }else{     die($ret);     }  }

然后我们在显示页面的js那里加入以下代码:

header:{    Cookie:wx.getStorageSync('session_id')  },
这样就会防止数据的泄露。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎