不想說的巨坑的ucenter同步登陸

分別試了兩個擴展包,一個是用的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"
相關文章
相關標籤/搜索