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.

    [回复]

    晴枫

    晴枫 回复:

    @小天, script标签加载相当于向另一个域发起了请求

    [回复]

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

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

    [回复]

    晴枫

    晴枫 回复:

    @lianyungang, 只加同类博客或技术站点

    [回复]

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

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

    [回复]

    晴枫

    晴枫 回复:

    @shy9000, 实战中用到UCHome、Discuz、UCenter,其他的也没玩过

    [回复]

    shy9000 回复:

    @晴枫,
    呵呵,新出了一个X1,不过感觉累赘太多了…

    [回复]

    晴枫

    晴枫 回复:

    @shy9000, 看介绍怎么感觉帮UCenter的定位有点像,也是做整合的,只不过X整合用户体验
    supersite你感觉怎么样 一直没怎么接触cms这块

    [回复]

    shy9000 回复:

    @晴枫, Supesite没用过,不敢乱作评价.
    其他的产品和你一样,都研究过,呵呵.

    [回复]

无觅相关文章插件,快速提升流量