第一種方法
最近剛剛接觸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遍歷所有的站點,並一一認證

