最近做一个项目,要集成qq登录和微信登录
微信登录以前做过,听说laravel的插件很方便,于是折腾了一下,但微信的第三方登录是公众平台的,这里不适用,qq的报一个什么driver[‘qq’] not found 的错误,还是直接套官网api吧,先说qq的非常简单。
QQ登录
1.去官网下载sdk,不用说,下载完毕后,访问根目录或者install目录,会让你配置一下信息,这个配置文件保存在 API/comm/inc.php 里面,这里面的信息要保证准确,因为它的方法要用到.
2.写qq登录页面,不要用它自带的那个js方法,那个方法会跳出一个子窗口,登录成功后还不给自动关闭,自己写一个登录页,代码如下:
public function anyQlogin(Request $request){
require_once("qqct/API/qqConnectAPI.php");
$qc = new \QC();
$url=$qc->qq_login();
return redirect("$url");
}
这个本来可以直接调用qq_login()方法,但不知道什么原因,在laravel 里header() 函数无法跳转(嘿嘿,laravel小白),我就把url返回,自动发起了一次跳转,如图下
Paste_Image.png
3.获取用户资料,这里官网api是封装好的,但是,说的不明不白,下面贴代码:
require_once("qqct/API/qqConnectAPI.php");
$qc = new \QC();
$acs = $qc->qq_callback();
$oid = $qc->get_openid();
$qc = new \QC($acs,$oid);
$uinfo = $qc->get_user_info();
Session::set('qq_user', $uinfo);
return redirect('/');
这样就获取到了用户资料,至于执行什么样的业务逻辑,就自己编写咯。
over!