刚才有朋友PM问我如何通过UC和其他系统同步登录。
我觉得官方其实有必要把这个基本原理讲解一下,
我下面说一下我的理解。
这个过程分两个方面讲解
1、Client 简称 C,即我们的应用系统
2、UCenter简称UC
首先讲解C端
C端使用uc_client包调用uc_user_login,
uc_client包根据你的设置UC_CONNECT 与UC进行通讯:MYSQL或者HTTP方式[即fscoketopen方式],
MYSQL方式我就不说了,讲一下HTTP方式,
HTTP方式其实就是将数据post/get方式发送数据,
经UC处理后,返回XML数据,经uc_client处理后转换为数组
登录验证成功后
C端调用uc_user_synlogin,
UC返回同步JS代码
这些JS代码调用各个应用uc/api.php中实现的synlogin实现同步。
UC端
UC端调用C端接口都是通过C端的api/uc.php 来实现的,
但你在BBS的api/目录下还有其他系统的API,实现原理都类似,
UC与C的通讯使用的都是HTTP协议来实现的,
先对字串使用通讯UC_KEY加密,
发送到C端的api/uc.php,
由C端解密后执行相应uc.php 中定义的操作
这个过程其实你自己画个图,就很好理解了。。。。
这个就是我的理解。
不当之处,望谅!
需要特别说明的是:
api/uc.php 都是需要自己实现的。
比如,各个$action中返回的值是什么需要参考手册,也可以用我之前写的那个小技巧捕获。
而$action的执行内容,需要自己根据自己系统的需要,写代码。
参考手册提供的例程序,只是教你如何实现这些操作,
并不是,用了那个例程序,就可以直接对自己应用系统使用了,
你需要改uc.php文件中的代码才行
阅读(785) | 评论(1) | 转发(0) |