UCenter uc_user_synlogin同步登陸返回值為空(NULL)的解決辦法 及 ucenter原理


第一種方法
最近剛剛接觸UCenter,很多問題不是很理解,只是在摸索着、嘗試着做,就在剛才有解決了一個問題,雖然不知道解決問題的具體原理,但是還是實現了同步登陸。
首先我是在本地測試的,也就是localhost,用uc_user_synlogin會返回一段html代碼,這段代碼就是實現同步登陸的關鍵,但是我試了一下,並沒有同步成功,具體查看返回的html代碼,結果是空的,后來網上找了很多解決方法都沒有能解決我的問題,最后無意中我把程序的UCenter程序配置文件中的
define('UC_API', 'http://localhost/ucenter');  
修改為了
define('UC_API', 'http://127.0.0.1/ucenter');
結果就登陸成功了,雖然不知道解決的具體原因,但是希望能幫助和我一樣剛剛接觸UCenter的朋友

第二種方法:如果以上方法還是無法幫助你解決問題的話,你可以嘗試一下下面的方法:
研讀過ucenter 的原理后,再結合測試 ucenter + modoer + discuz X 1.5 + ecshop 2.7.2 實現了完美的同步登入和退出 

發現一個簡單的方法就是,把ucenter 的data/cache/apps.php 文件復制到各個系統的 uc_client/data/cache/apps.php 

就可以解決大半的同步問題 
檢查過上面問題后,再檢查各個系統的關於ucenter 的配置處,確保key和uc里面的一致,然后清空各系統緩存,測試

 

http://www.edbiji.com/doccenter/showdoc/69/nav/818.html

 

首先有兩個測試站點,但是uc_client放錯了位置,要粘貼進每個站點里面,然后,要修改uc.php和登陸文件里面所有涉及到的文件路徑,官方的例子並沒有說明這一點

看文件是否包含成功,可以在被包含的文件里面用echo打印出來一些東西

 

 

 

登陸一個站點后查看靜態頁源碼

 

發現引用的uc的方法用js遍歷了一個些東西,就是請求了很多的api登陸接口

 

 

js的遍歷認證是以這個apps.php為依據的

 

如果通信成功了,uc就會生成一個apps.php,里面有一個數組,其實就是方便剛才登陸的時候用js遍歷所有的站點,並一一認證

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM