微信小程序> 微信网页授权,微信小程序微信授权登录微信登录

微信网页授权,微信小程序微信授权登录微信登录

浏览量:1828 时间: 来源:weishine_xk
一、调用接口获取临时登录凭证(code)wx.login({success(res){if(res.code){//res.code=登录凭证}else{console.log('登录失败!'+res.errMsg)}}})二、调用code2Session接口,换取用户唯一标识OpenID和会话密钥session_key本接口应在后端服务器调用
请求地址GEThttps://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code请求参数属性类型默认值必填说明appidstring是小程序appidsecretstring是小程序appSecretjs_codestring是登录时获取的codegrant_typestring是授权类型,此处只需要填写authorization_code返回值属性类型说明openidstring用户唯一标识session_keystring会话密钥unionidstring用户在开放平台的唯一标识符,在满足UnionID下发条件的情况下会返回errcodenumber错误码errmsgstring错误信息后台接口代码(PHP)publicfunctionactionWechatLogin(){//获取传参中的code$code=$this-checkIsGet()-get('code');//调用微信接口获取openid$openid=$this-getOpenId($code);//根据openid去数据库中查询用户信息,能查到数据继续下面的操作,未查到提示未绑定微信登录//重置token//1.生成token$authKey=md5(md5(time().uniqid().mt_rand(0,999)));//2.生成的token保存到mysql数据库//3.生成的token保存到redis(键:token的值,value:用户信息)//返回Output::output(true,'0','成功',['openid'=$openid,'token'=$authKey]);}privatefunctiongetOpenId($code){//这里的appid、secret、grant_type需要替换成你自己的$url='https://api.weixin.qq.com/sns/jscode2session?appid='.Yii::$app-params['mini_program']['AppID'].'&secret='.Yii::$app-params['mini_program']['AppSecret'].'&js_code='.$code.'&grant_type=authorization_code';$ch=curl_init();$options=array(CURLOPT_URL=$url,CURLOPT_USERAGENT="Mozilla/5.0(WindowsNT6.1;rv:12.0)Gecko/20100101Firefox/12.0",CURLOPT_RETURNTRANSFER=1,CURLOPT_HTTPHEADER=array("Content-Type:application/json-rpc"));curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);//跳过证书检查$html=curl_exec($ch);$info=curl_getinfo($ch);curl_close($ch);$resData=json_decode($html);Yii::error($html);if(!isset($resData-openid)){Output::output(false,'1','获取openid出错。',null);}Yii::error('openid=='.$resData-openid);return$resData-openid;}调用后台接口获取token小程序端记录token到本地wx.setStorageSync('token',token)调用接口时,取出token传到后台wx.getStorageSync('token')注意临时登录凭证code只能使用一次用户登录凭证(有效期五分钟)

版权声明

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

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

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