MZOE'S BLOG

我们的团队博客

268114网址导航 | 网址收藏 | NBA直播
Page 1 of 41234
预览模式:普通 | 列表
09-06
28

ASP整合UCenter

作者:mzoe 日期:2009-06-28 时间:19:55

收缩

  UCenter 是 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 UCenter 站长可以无缝整合 Comsenz 系列产品,实现用户的一站式登录以及社区其他数据的交互。

  官方称:UCenter 拥有机制完善的接口,经过简单修改便可以挂接其它任何平台的第三方的网络应用程序。然而事实上,要挂接除php之外的其他程序语言还是有点困难的。比如制作一个ASP版的uc_client就会遇到不少的麻烦。

  最近花了几天时间仔细研究了一下UCenter的通信原理以及具体的功能,写了一个ASP版的uc_client,基本上实现了官方的examples里的所有功能,如:用户注册、同步登陆、同步退出、修改用户信息、短消息等等。期间遇到了不少的麻烦,这里总结一下,当做备忘。

  实现ASP与UCenter的对接,首先要解决的问题就是实现UCenter里的authcode(康盛旗下所有程序都用到的加密函数)的功能,原理倒是蛮简单的,通过密钥和传递才数据组合生成一串明文,然后接收的时候通过配置的密钥解密。用ASP的VBScript来实现相对要简单的一些,可惜我的程序是JScript版的ASP,比如实现PHP的microtime()的功能就没有办法,还好这个并不影响使用,随便换个随机函数就行了。authcode里使用了Base64的加密解密功能,不过Base64的解密的函数需要稍许修改,因为authcode的返回值是去除了=号的,所有在Base64的解密过程就需要为其补足=,才能正常解密。

  非PHP的程序对接UCenter当然不能采用直接连接的数据库的方式,只能通过fscoketopen的方式来通信,说得通俗一点就是调用UCenter的API接口,那么这边的操作需要完全按照UCenter的API接口文档来实行了,而且这边还需要按照UCenter的要求编写对应的API接口供UCenter调用。第一个要实现的就是test(通信测试)的API。UCenter的后台会测试每个应用的通信成功,流程就是UCenter向应用发出一个action为test的请求(当然是加密过的),应用接收到后首先解密传过来的值(一般都是GET的传递的),发现其中action的值为test时候就返回API_RETURN_SUCCEED(也就是1),UCenter发现返回值为1就判断通信为成功了。到这里,我们的ASP程序就离UCenter近了一大步了,呵呵。

  接着我们来做用户注册的功能,这个需要我们从应用向UCenter发出请求了,我们把注册信息用authcode加密后通过服务端的ServerXMLHTTP组件POST给UCenter,然后UCenter会把处理后会返回一个XML的形式的数据(返回值的详细格式请参照官方接口文档),然后我们在根据返回的数据进行扫尾工作,比如用户名已经被注册了,那么再返回重新注册。

  其他功能的实现都类似与上面所讲的用户注册。当然事实上没有我说的这么顺利,编码问题就是一个相当棘手的问题,因为我用的是JScript,而且还是用UTF-8的编码,虽然UCenter也是选择UTF-8编码版的,但是在接受UCenter那边GET过来含中文的数据时会显示乱码。比如在同步登陆的时候,UCenter会向所有的应用传递一串包含用户ID、用户名以及email的信息,当用户名为中文是,ASP版的uc_client这么能够同步登陆成功,但是显示出来的用户名是乱码,很显然是在处理中文的时候UCenter有不一致的地方,于是我在UCenter加密同步登陆代码之前将username用urlencode编码了一下,结果,很OK,乱码解决了,其他的官方应用(如论坛、家园等)也运作正常,不知道这个算不算是UCenter的代码上一个不够严谨的地方。

  说了蛮多的了,不知道说得是不是很清楚,待有空的时候放个演示上来,呵呵。恩,就到这里,休息一下。

Tags: asp UCenter

09-06
23

简单实用的ajax函数

作者:mzoe 日期:2009-06-23 时间:20:07

展开
09-06
23

让你的淘宝搜索代码显示得更好看

作者:mzoe 日期:2009-06-23 时间:13:36

展开
09-06
19

js+css实现图片自适应大小

作者:mzoe 日期:2009-06-19 时间:10:34

展开
09-06
18

笨软基地蛋生了!

作者:mzoe 日期:2009-06-18 时间:09:46

展开
09-06
14

彪悍的演讲

作者:mzoe 日期:2009-06-14 时间:21:39

展开
09-06
7

囧版广播体操

作者:mzoe 日期:2009-06-07 时间:19:52

展开
09-06
4

asp清空数据库

作者:mzoe 日期:2009-06-04 时间:16:41

展开
09-06
2

classicriver

作者:mzoe 日期:2009-06-02 时间:14:43

展开
09-06
2

测测你的网速

作者:mzoe 日期:2009-06-02 时间:13:48

展开
Page 1 of 41234