UCenter整合自有系统同步登陆的注意点

    UCenter的同步登陆整合确实是问题多多,我也是整得焦头烂额,简单记录一下整合的注意点:

    1、第一步要做的是在UCenter中检查通信是否正常

    如通信不成功的话检查App URL、App IP、APP Key等是否与自有系统的配置保持一直。当UCenter和自有系统位于同一台服务器时,最好配置Physical Path,有时通信失败的情况就能解决了。

    2、根据UCenter的API开发手册,调用同步登陆函数

    $ucsynlogin = uc_user_synlogin($uid);  
    if ($uid > 0) {
       $ucsynlogin = uc_user_synlogin($uid);
       echo $ucsynlogin;
    }
    else {
    echo "log in failed";
    }  

    这里需要说明的是必须将 uc_user_synlogin函数的返回结果输出到页面上,因为动态输出的script是来通知其他程序进行同步登陆操作的。具体的输出内容类似如下

    <script reload="1" src="http ://localhost/forum/api/uc.php?time= 1277732174&amp;code=624eq%2BpLco%2B8b4%2FwHM8wFYiGNx Ps50WiRbclWSf19LUBw MWdRLX2d9Z1JK9Yto7P4P L86RSeuOaGb2aQ1YgGNp hFy4mjhmVvklWoZWfO6 431JqGFmGzZWwn8GO oj%2FRREi9gcQ%2FCk6uoWw WbfiDOnTqhZLq1Gvhx2 L6Y7vz3H" type="text/javascript"></script>

    特别强调一点,如果采用的是Ajax方式异步登陆的话,需要注意让以上输出的script生效,因为如果是使用innerHTML把以上代码加载到页面上的话,同步登陆会失效的,深刻体会。

    3、额外,注意一下自有系统的类名和ucenter中的类名是否有存在重复的情况,曾碰到过,比较杯具

    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自 芸路拾光, 原文地址《UCenter整合自有系统同步登陆的注意点
    标签:
    分享:

已经有9 条评论抢在你前面了~

  1. 沙发
    小天 2012年11月19日 下午8:32

    我想说的是:
    为什么一定要那个script生效。由于http是无状态协议,而cookie又不能跨域传输,所以要异步请求其它应用,以获取其它应用的登陆信息,即cookie.

  2. 板凳
    lianyungang 2010年7月1日 下午8:05

    你好,否能做个友情链接呢?

  3. 地板
    shy9000 2010年6月28日 下午10:14

    呵呵,你也玩康盛的产品?