Ucenter I think a lot of friends will use, is a member of the synchronization function, we will often put a few systems or different forums to integrate, I would like to introduce you to the students.
Ucenter Synchronization Process:
The premise is that you need to add an app that requires a synchronous login (at least 2 to see the effect) on the Ucenter, and shows that the communication was successful
If I add a, B, two app sites
1. First when the A station login, after the successful login, processing is essentially called Uc_client provides the method to ucenter get 2 script code (a, B station), these two script code is to access a, B two station api/ Uc.php the login method in the method, you can do the login required session and cookie operation.
2. When logged out, the operation and login are the same, you need to get 2 script code to Ucenter, the purpose is to trigger a, B station api/uc.php in the logout method.
Important: When you get to 2 script code, it is necessary to let the browser run the output, otherwise it will not implement synchronous login logout.
Recommendation: When developing debugging, using browser monitoring to see the return output values, I was using chrome F12 to open the Network tab.
Detailed examples
The so-called single sign-on, is nothing more than a few sites share a user center, to achieve synchronous landing, synchronous exit.
Server-side: Loog SSO
Customer Service: Ucenter, to tell the truth dz Commercialization really let PHP develop a lot.
Ucenter Fundamentals:
In fact, the end user is going to login just to use AJAX users will not find.
Let's take a look at the specific procedures and Ucenter:
config.php [PHP code]:
The code is as follows |
Copy Code |
Define (' Uc_connect ', ' MySQL '); How to connect ucenter: Mysql/null, default is empty when Fscoketopen () //Database related (when MySQL is connected and no uc_dblink is set, the following variables need to be configured) define (' uc_dbhost ', ' localhost ');//Ucenter Database host define (' UC _dbuser ', ' root '); Ucenter database user name define (' UC_DBPW ', ' 123′ ');//ucenter Database Password define (' Uc_dbname ', ' ucenter ');//Ucenter database name Define (' Uc_dbcharset ', ' utf8′ '); Ucenter database Character Set define (' Uc_dbtablepre ', ' ucenter.uc_ ');//Ucenter database table prefix define (' Uc_key ', ' safefewfef ');//With U Center's communication key, to be consistent with Ucenter define (' Uc_api ', ' Http://www.bKjia.c0m/uc ');//Ucenter URL address, dependent on this constant when calling avatar define ( ' Uc_charset ', ' utf-8′ '; Ucenter the character set define (' uc_ip ', ' 127.0.0.1′ ');//Ucenter IP, set this value when Uc_connect is not in MySQL mode, and the current application server resolves the domain name in the case of a problem define (' uc_appid ', ' 3′ '); The ID corresponding to the current app of Ucenter define (' Ucdomain ', ' http://www.bKjia.c0m/');//Domain name settings Some Cookie settings $_UC = Array (); $_uc["Cookiedomain"] = "; Cookie Scope $_uc["cookiepath"] = '/'; Cookie Action Path $_uc["Cookiepre"] = ' uc_ '; Cookie Prefix $_uc["cookietime"] = ' 31536000′; Cookie Action Time |
After the configuration file is written, add an app to the Ucenter backstage and remember that the custom ' uc_key ' must be the same as the config.php inside.
Next is the api/uc.php in your home directory.
For example, the application URL is filled in as http://www.bKjia.c0m so I have a corresponding http://www.bKjia.c0m/api/uc.php.
If you want to customize, please confirm your correspondence.
The most important thing is api/uc.php, synchronous login is to access the application of uc.php about this DZ has given the demo
[PHP code]:
The code is as follows |
Copy Code |
Define (' Api_deleteuser ', 0); Note User Delete API interface switch Define (' Api_renameuser ', 0); Note User renamed API interface switch Define (' Api_gettag ', 0); Note Get tag API interface switch Define (' Api_synlogin ', 1); Note Sync Login API interface switch Define (' Api_synlogout ', 1); Note Sync log out API interface switch Define (' API_UPDATEPW ', 0); Note Change user password switch Define (' Api_updatebadwords ', 0); Note Updating the keyword list switch Define (' Api_updatehosts ', 0); Note Update the domain name resolution cache switch Define (' Api_updateapps ', 0); Note Update App list switch Define (' Api_updateclient ', 0); Note Update Client cache switch Define (' Api_updatecredit ', 0); Note Update User points switch Define (' Api_getcreditsettings ', 0); Note to Ucenter to provide the integration setting switch Define (' Api_getcredit ', 0); Note Get a user's integral switch Define (' Api_updatecreditsettings ', 0); Note Update Apply integration settings switch
|
These parameters are all functional switches provided to other applications.
Finally how to sync your own page with other apps
[PHP code]:
The code is as follows |
Copy Code |
Include_once '. /config.php '; Include_once '. /uc_client/client.php '; |
Your authentication sign-in section
The code is as follows |
Copy Code |
List ($uid, $username, $password) = Uc_user_login ($_post[username], $_post[password]);//Enter Ucenter authentication $ucsynlogin = Uc_user_synlogin ($UID);//Synchronous login echo $ucsynlogin;//Because Ajax is the Echo
|
PHP only, Hong Sing solution is relatively good, and the use of P3P head to achieve a different domain single sign-on
The disadvantage is the use of AJAX customer service request, if there are more than 10 applications, login speed is slow down, this time you can consider the next seven nights of Loong SSO
Understand the above stuff PHP cms and Ucenter communication is not difficult.
http://www.bkjia.com/PHPjc/632783.html www.bkjia.com true http://www.bkjia.com/PHPjc/632783.html techarticle Ucenter I think a lot of friends will use, is a member of the synchronization function, we will often put a few systems or different forums to integrate, I would like to introduce you to the students. ...