帝国第三方登陆:微信内部登陆+扫码登陆2.0安装说明与使用方法

1、无需微信开放平台接口,只需一个微信公众号oauth2网页授权接口即可实现。
2、无需粉丝关注,均可实现登录。
3、无需用户输入密码,,一键登录,不需要用户再填写注册信息,密码等等,当然用户也无法更改密码。

 插件说明:

本插件整合微信公众号oauth2网页授权接口,实现网页端扫码登录及微信内部浏览器快捷登录,只需简单安装即可使用。KHSECMSPLUS
作品优点:KHSECMSPLUS
1、无需微信开放平台接口,只需一个微信公众号oauth2网页授权接口即可实现。KHSECMSPLUS
2、无需粉丝关注,均可实现登录。KHSECMSPLUS
3、无需用户输入密码,,一键登录,不需要用户再填写注册信息,密码等等,当然用户也无法更改密码。

安装说明:

*本插件使用需获得微信公众号oauth2网页授权接口 (查看是否获得接口方式:登录微信公众号后台接口权限找到“网页授权获取用户基本信息” 点击后面的修改,将授权回调域名 设置为你的域名) 。KHSECMSPLUS
1、 将本插件内 e 文件夹 插件文件夹上传到网站根目录。KHSECMSPLUS
2、 登录你的网站后台KHSECMSPLUS
3、使用同浏览器访问  http://你的网址 /e/extend/wechat/install/  进行安装。KHSECMSPLUS
4、登陆后台  用户  外部接口  管理外部登陆接口  配置微信登陆接口 将 appid 与 appkey 修改为你的公众号APPID 与 APPSECRET 接口参数KHSECMSPLUS
(微信查看APPID 与 APPSECRET方式:登录微信公众号后台基本配置开发者ID与开发者密码就是)KHSECMSPLUS
5、打开 /e/member/class/member_loginfun.php 将  代码.txt 里面的代码复制到 ------登录函数-----下面。KHSECMSPLUS
6、在需要的地方设置触发按钮KHSECMSPLUS
(1)扫码登录触发按钮KHSECMSPLUS
     <a href="/e/extend/wechat/pclogin.php" >微信扫码登录</a>KHSECMSPLUS
(2)微信内部登录触发按钮(可将连接设置在微信自定义菜单内来实现直接登录)KHSECMSPLUS
    <a href="/e/extend/wechat/"  >微信内部登录</a>KHSECMSPLUS
或者KHSECMSPLUS
(3)制作自动判断如果用户使用微信访问则使用快捷登录而不使用扫码登录,如用户使用其它浏览器则使用扫码登录的方式:KHSECMSPLUS
     <?if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {?>KHSECMSPLUS
       <a href="/e/extend/wechat/"  >微信内部登录</a>        KHSECMSPLUS
     <?}else{?>KHSECMSPLUS
       <a href="/e/extend/wechat/pclogin.php" >微信扫码登录</a>KHSECMSPLUS
     <?}?>KHSECMSPLUS
KHSECMSPLUS
KHSECMSPLUS
KHSECMSPLUS
KHSECMSPLUS
 

如下示例代码:

//微信快捷登陆
function wxlogin($openid,$url){
                global $empire,$dbtbpre,$public_r,$ecms_config;
        if($ecms_config['member']['loginurl'])
        {
                Header("Location:".$ecms_config['member']['loginurl']);
                exit();
        }
        $dopr=1;
        if($_POST['prtype'])
        {
                $dopr=9;
        }

        if (!$openid) {
                printerror("EmptyLogin","history.go(-1)",$dopr);
        }
        $num=0;
        $ur=$empire->fetch1("select userid from ".eReturnMemberTable()."add where wx_openid='$openid' limit 1");
        if (!$ur['userid']) {
                printerror('NotCheckedUser','history.go(-1)',$dopr);
        }
        $r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where userid='$ur[userid]' limit 1");
        if(!$r['userid'])
        {
                printerror("FailPassword","history.go(-1)",$dopr);
        }
        $username=$r['username'];


        if($r['checked']==0)
        {
                if($public_r['regacttype']==1)
                {
                        printerror('NotCheckedUser','../member/register/regsend.php',1);
                }
                else
                {
                        printerror('NotCheckedUser','',1);
                }
        }

        $rnd=make_password(20);//取得随机密码
        //默认会员组
        if(empty($r['groupid']))
        {
                $r['groupid']=eReturnMemberDefGroupid();
        }
        $r['groupid']=(int)$r['groupid'];
        $lasttime=time();
        //IP
        $lastip=egetip();
        $usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('rnd')."='$rnd',".egetmf('groupid')."='$r[groupid]' where ".egetmf('userid')."='$r[userid]'");
        $empire->query("update {$dbtbpre}enewsmemberadd set lasttime='$lasttime',lastip='$lastip',loginnum=loginnum+1 where userid='$r[userid]'");
        //设置cookie
        $add['lifetime']=315360000;
        $lifetime=(int)$add['lifetime'];
        $logincookie=0;
        if($lifetime)
        {
                $logincookie=time()+$lifetime;
        }
        $set1=esetcookie("mlusername",$username,$logincookie);
        $set2=esetcookie("mluserid",$r['userid'],$logincookie);
        $set3=esetcookie("mlgroupid",$r['groupid'],$logincookie);
        $set4=esetcookie("mlrnd",$rnd,$logincookie);
        //验证符
        qGetLoginAuthstr($r['userid'],$username,$rnd,$r['groupid'],$logincookie);
        //登录附加cookie
        AddLoginCookie($r);
        $location="/e/member/cp/";
        $returnurl=getcvar('returnurl');
        if($returnurl)
        {
                $location=$returnurl;
        }
        if(strstr($_SERVER['HTTP_REFERER'],"e/member/iframe"))
        {
                $location="../member/iframe/";
        }
        if(strstr($location,"enews=exit")||strstr($location,"e/member/register")||strstr($_SERVER['HTTP_REFERER'],"e/member/register"))
        {
                $location="/e/member/cp/";
                $_POST['ecmsfrom']='';
        }
        ecmsEmptyShowKey($keyvname);//清空验证码
        $set6=esetcookie("returnurl","");
        if($set1&&$set2)
        {
                //易通行系统
                DoEpassport('login',$r['userid'],$username,$password,$r['salt'],$r['email'],$r['groupid'],$r['registertime']);
                $location=DoingReturnUrl($location,$_POST['ecmsfrom']);
                $location=$_COOKIE['gourl'];
                if (!$location) {
                        $location="/e/member/cp/";
                }
                if ($url) {
                        $urlone=substr( $url, 0, 1 );
                        if ($urlone=='/') {
                                $location=$url;
                        }else{
                                $location='http://'.$url;
                        }
                }

                if ($_COOKIE['gourl']) {
                        $location=$_COOKIE['gourl'];
                }

                  header("Location:".$location);
    }
        else
        {
                printerror("NotCookie","history.go(-1)",$dopr);
        }
}

下载附件

分享到 :
相关推荐

发表评论

登录... 后才能评论

评论(3)

加入本站VIP会员订阅计划,海量资源免费下载查看

目前为止共有3位优秀的VIP会员加入!

立即加入VIP会员