分别试了两个扩展包,一个是用的api方式,一个是用的数据库方式php
https://github.com/vergil-lai/uc-clientgit
https://github.com/binaryoung/ucenter/
github
论合理性来讲第二个合理些,可是都坑,第一个我以前不知道没有发布正式版,试了很久才发现用dev-master才能安装,做者没说明。数据库
两个包都有同一个坑,没有说在ucenter中如何进行配置,第一个我安装成功后很容易进行了同步登录及获取信息api
//方法在vendor/vergil-lai/uc-client/src/client.php //使用Facade //$abc=UcClient::getUser('long'); //var_dump(UcClient::userSyncLogin(1)); //$abc=UcClient::userRegister('testxiangli123','123456','xiangli@host.edu.cn'); $result = Ucenter::uc_get_user('long'); var_dump($result); //var_dump(Ucenter::uc_user_register('testxiangli125','123456','xiangli3@host.edu.cn')); var_dump(Ucenter::uc_user_synlogin(64574)); var_dump(Ucenter::uc_user_synlogout(64574)); var_dump(Ucenter::uc_user_checkemail('xiangli3@host.edu.cn')); exit;
别忘了即便加了别名也要use UcClient跟use Ucenter才能使用的,这是第一个坑,怪我本身不太熟悉larvel缓存
第二个包稍微好一点,我至少看到了这一行composer
Route::any(config('ucenter.url').'/api/'.config('ucenter.apifilename'), '\Binaryoung\Ucenter\Controllers\ApiController@run');
那就证实ucenter跟这个包的通行地址为http://myhost/api/config('ucenter.apifilename');
url
这里遇到第二个坑了,ucenter在通讯的时候会自动加上api而后后面是文件名,所以来讲咱们在通讯地址只用写http://myhost,文件名只用写notify,ucenter会自动把往http://myhost/api/notify发送通知,这样就能够通讯成功了。
命令行
而后第三个坑是同步登陆的时候:code
打开vendor/binaryong/ucenter/src/uc_client/client.php往下拉,看到代码了吗?必定是猴子派来的逗比,尼玛我缓存中哪里会有大于两个以上应用有木有。
还有一点须要说明时,咱们不要手动去删除vendor里面的依赖,执行命令行,要否则你的项目是绝逼要报错的:
composer remove "vergil-lai/uc-client":"dev-master"