weixin config.php,php - 微信用户经过网页基本授权后jsdk 就报errmsg :"config:invalid signatrue"...

微信用户经过网页基本授权后jsdk 就报errmsg :"config:invalid signatrue"(前提我不经过网页基本授权进来是不会报错接口也可以用)

这是不经过基本授权jsdk是ok的

b4b70dbffc98299b560973e79c1ce308.png

这是经过授权

aac1f53678d5d42754eb62b57086eefc.png

代码:

//JS-SDK使用权限签名算法

public function getJsapiTicket(){

$jsapi=D('jsapi');

$jsapi_data=$jsapi->selt_jsapi();

foreach ($jsapi_data as $v) {

}

if($v['time']>time()){

return $v['jsapi'];

}else{

$access_token=$this->access_token();

$urls="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$access_token."&type=jsapi";

$res=$this->http_curl($urls);

$jsApi_Ticket=$res['ticket'];

$con['jsapi']=$jsApi_Ticket;

$con['time']=time()+7000;

$jsapi->creat_api($con);

return $jsApi_Ticket;;

}

}

//curl抓取

public function http_curl($url,$type='get', $res='json',$postJson=''){//CURL

$ch=curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

if($type=='post'){

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postJson);

}

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$result=curl_exec($ch);

if($res=='json'){

if(curl_errno($ch)){

var_dump(curl_error($ch)) ;

}

return json_decode($result,true);

}

curl_close($ch);

}

//授权第一步

public function getinfo(){

$appid=C('APPID');

$redirect_uri=urlencode("http://love.cc.com/index.php/admin/index/getOpenid");

$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=state#wechat_redirect";

header('location:'.$url);

}

//获取openid

public function getOpenid(){

$urlt="http://love.cc.com/index.php/Admin/index/getOpenid";

$jsapi_ticket=$this->getJsapiTicket();

$noncestr=$this->getRandcode();

$time=time();

$signature="jsapi_ticket=".$jsapi_ticket."&noncestr=".$noncestr."&timestamp=".$time."&url=".$urlt;

$signature=sha1($signature);

var_dump($signature);

$appid=C('APPID');

$appsecret=C('APPSECRET');

$code=$_GET['code'];

$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";

$res=$this->http_curl($url);

$con['openid']= $res['openid'];

$img=D('purl');

$data['data']=$img->show_data($con);

// var_dump($data);

$this->assign('openid',$con['openid']);

$this->assign('time',$time);

$this->assign('noncestr',$noncestr);

$this->assign('signature',$signature);

$this->assign($data);

$this->display('index');

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值