PHP实现关注公众号登陆网站功能

要求必须公众号已经认证
原理通过生成带参数二维码+随机字符串存入库中
然后用户扫描关注后,微信推送消息中带 随机字符串,与库中相比完成登录

只贴核心代码

生成二维码推送

2592000,//二维码有效期 2592000是30天
        'action_name'=>'QR_STR_SCENE',//微信推送消息时的参数类型,QR_STR_SCENE为字符串
        'action_info'=>array(
            'scene'=>array(
                'scene_str'=>$string,//微信随送消息时的参数。
            )
        )
    );
    
    //模拟器数据库存入开始
    $logininfo_array = array('string'=>$string,'islogin'=>0);
    writeArrayToFile($logininfo_array,"logininfo.txt");
    //模拟器数据库存入结束

    //获取ticket开始
    $get_code_url_parmeter = json_encode($get_code_url_parmeter);
    $qrcode = curl_post($get_code_url,$get_code_url_parmeter);
    $ticket =  json_decode($qrcode,true);
    $ticket = $ticket['ticket'];
    //获取ticket结束

    $qrcodeimg = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={$ticket}";
    echo $qrcodeimg;
    //向前端返回二维码链接

    function createToken($long){//创建随机字符串 long参数为字符串长度
        $char = '1234567890ABCDEFGHIGHLMNOPQRSTUVWXYZ';
        $token = '';
        for ($i = 0; $i <= $long; $i++) {
            $token.= $char[rand(0, strlen($char) - 1) ];
        }
        return $token;
    }
    
?>

//接收微信推送消息

你可能感兴趣的:(php)