基于ucenter的应用都可以使用相同的用户数据,一站登录多个站点,要接入ucenter,需要实现几个接口,供ucenter调用
如果想实现同步登录,需要实现 synlogin,synlogout接口
官方示例
$query = $db->query("SELECT uid, username FROM members WHERE uid=′$get[uid]′");
if($member = $db->fetch_array($query)) {
header(′P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"′);
dsetcookie(′Example_auth′, authcode($member[′uid′]."\t".$member[′username′], ′ENCODE′), 86400 * 365);
}
只要根据传递过来的 uid 设置cookie 保存登录信息就可以了,那么ucenter是如何调用这个api的呢
我们登录的时候,需要调用 uc_client/client.php 中的
array uc_user_login(string username , string password [, bool isuid])
进行登录,然后调用 uc_user_synlogin()
异步登录, 根据设置使用数据库接口或远程api接口
根据ucenter中注册的应用,返回客户端脚本 调用 <script src="http:/localhost/uhd/home/api/uc.php?........"></script>
这样应用home或我们自己做的应用 api就会被用户在客户端调用,就可以生成针对于应用所在域的cookie,登录那个应用的时候,
那个应用就可以读取cookie中的用户信息了。
