企业微信实现扫码登录
时间:2023-03-29 14:15:04
PHP
1:获取扫码登录所需参数:appid、secret、agentid登录企业微信:https://work.weixin.qq.com/扫码登录文档:https://work.weixin.qq.com/api/doc/90000/90135/909881:获取appid点击我的企业可以看到企业ID信息,这是appid2:获取secret和agentid(一):点击应用管理-》点击创建应用(二):应用创建完成后那,我们可以在应用中看到secret和agentid2:上传企业微信二维码(一):引入企业微信js(2):html
(3):扫码jswindow.WwLogin({"id":"wx_login","appid":"XXX",//appid"agentid":"XXX",//agentid"redirect_uri":"XXX",//回调地址,注意回调地址需要urlencoded"state":"XXXX",//用来保持请求和回调的状态,带回给enterprise因为它是授权请求后。该参数可用于防止csrf攻击,该参数非必填"href":"XXXX",//自定义样式链接,企业可根据实际需要覆盖默认样式,该参数非必填});根据以上,可以显示企业微信二维码。3:扫码回调接收企业微信扫码展示,使用企业微信扫码确认。有时候我们的回调地址会收到企业微信的回调信息。回调信息包含代码参数。我们可以根据二维码获取扫码用户的一些基本信息。这里我用php来实现:$state=$_GET['state'];//判断扫码得到的state值和回调得到的state值是否相同if($state=='XXX'){//根据appid和secret获取access_token$appid='XXX';$秘密='XXX';$url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='.$appid.'&corpsecret='.$secret;$token=$this->https_request($url);$accessToken=$token['access_token'];//根据code和access_token获取会员信息$code=$_GET['code'];$url='https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token='.$accessToken.'&code='.$代码;$usersinfo=$this->https_request($url);//判断获取会员信息是否成功if($usersinfo['errcode']==0){if(isset($usersinfo['UserId'])){//企业用户//我们可以扫码根据用户信息登录,具体代码不再赘述}else{//非企业用户}}else{echo'验证错误';}}else{echo'验证错误';}上面代码使用了https_request方法,如下:/***curl*/publicfunctionhttps_request($url){$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);$data=json_decode(curl_exec($curl),true);//$data=curl_exec($curl);curl_close($curl);返回$数据;可实现扫码登录功能