码迷,mamicode.com
首页 > 其他好文 > 详细

UCenter 基本原理一瞥

时间:2015-04-13 00:13:16      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

UCenter 是国内最常用的会员整合系统,它定义了一套接口用于不同应用(系统)间的协作。

注册过程

通过某个应用注册时,应用会先调用 uc_client/client.php 中的 uc_user_register,让 UCenter 先添加用户。如果成功则返回该用户id,否则返回错误代码(小于0)。应用根据返回值确定是继续在本系统中注册还是提示错误信息。

UCenter 并没有定义同步注册的接口,同步注册的功能是在同步登录的接口中实现的。

同步登录

通过某个应用登录时,先调用 uc_client/client.php 中的 uc_user_login 进行验证。验证通过后再调用该文件中的 uc_user_synlogin,UCenter 会根据配置将各个应用的同步登录代码返回,刚刚执行登录动作的应用需要把这段代码以html的形式输出到页面上。

这段代码以引入脚本的形式来触发对不同应用的接口的请求的,大概形式是这样的:

<script type="text/javascript" src="http://aaa.com/api/uc.php?time=xxxxx&code=xxxxx" reload="1"></script>
<script type="text/javascript" src="http://bbb.com/api/uc.php?time=xxxxx&code=xxxxx" reload="1"></script>

这些的代码输出到页面上,会分别触发对各个应用下 api/uc.php 的请求(这个文件的细节需要各个应用自己实现),并调用其中的 uc_note->synlogin 方法。通常在这个方法里会判断本应用中是否存在要求同步登录的用户,如果不存在则增加用户。

注意代码中的 code 是实际请求参数的加密字符串,UCenter 接口负责封包和解包。

同步注销

与同步登录类似,但基本无须判断用户是否存在,只需销毁 session 等登录标识就好了。

 

UCenter 基本原理一瞥

标签:

原文地址:http://www.cnblogs.com/bemxself/p/quick_glance_of_ucenter_principle.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!