不想说的巨坑的ucenter同步登录

分别试了两个扩展包,一个是用的api方式,一个是用的数据库方式

https://github.com/vergil-lai/uc-client

https://github.com/binaryoung/ucenter/

论合理性来说第二个合理些,但是都坑,第一个我之前不知道没有发布正式版,试了好久才发现用dev-master才能安装,作者没说明。

两个包都有同一个坑,没有说在ucenter中如何进行配置,第一个我安装成功后很容易进行了同步登陆及获取信息

//方法在vendor/vergil-lai/uc-client/src/client.php
//使用Facade
//$abc=UcClient::getUser('long');
//var_dump(UcClient::userSyncLogin(1));
//$abc=UcClient::userRegister('testxiangli123','123456','[email protected]');
$result = Ucenter::uc_get_user('long');
var_dump($result);
//var_dump(Ucenter::uc_user_register('testxiangli125','123456','[email protected]'));
var_dump(Ucenter::uc_user_synlogin(64574));
var_dump(Ucenter::uc_user_synlogout(64574));
var_dump(Ucenter::uc_user_checkemail('[email protected]'));
exit;

别忘了即使加了别名也要use UcClient跟use Ucenter才能使用的,这是第一个坑,怪我自己不太熟悉larvel

第二个包稍微好一点,我至少看到了这一行

Route::any(config('ucenter.url').'/api/'.config('ucenter.apifilename'), '\Binaryoung\Ucenter\Controllers\ApiController@run');

那就证明ucenter跟这个包的通行地址为http://myhost/api/config('ucenter.apifilename');

这里遇到第二个坑了,ucenter在通信的时候会自动加上api然后后面是文件名,因此来说我们在通信地址只用写http://myhost,文件名只用写notify,ucenter会自动把往http://myhost/api/notify发送通知,这样就可以通信成功了。

然后第三个坑是同步登录的时候:

打开vendor/binaryong/ucenter/src/uc_client/client.php往下拉,看到代码了吗?一定是猴子派来的逗比,尼玛我缓存中哪里会有大于两个以上应用有木有。


还有一点需要说明时,我们不要手动去删除vendor里面的依赖,执行命令行,要不然你的项目是绝逼要报错的:

composer remove "vergil-lai/uc-client":"dev-master"


你可能感兴趣的:(不想说的巨坑的ucenter同步登录)