• UCenter uc_user_synlogin同步登陆返回值为空(NULL)的解决办法 及 ucenter原理


    第一种方法
    最近刚刚接触UCenter,很多问题不是很理解,只是在摸索着、尝试着做,就在刚才有解决了一个问题,虽然不知道解决问题的具体原理,但是还是实现了同步登陆。
    首先我是在本地测试的,也就是localhost,用uc_user_synlogin会返回一段html代码,这段代码就是实现同步登陆的关键,但是我试了一下,并没有同步成功,具体查看返回的html代码,结果是空的,后来网上找了很多解决方法都没有能解决我的问题,最后无意中我把程序的UCenter程序配置文件中的
    define('UC_API', 'http://localhost/ucenter');  
    修改为了
    define('UC_API', 'http://127.0.0.1/ucenter');
    结果就登陆成功了,虽然不知道解决的具体原因,但是希望能帮助和我一样刚刚接触UCenter的朋友

    第二种方法:如果以上方法还是无法帮助你解决问题的话,你可以尝试一下下面的方法:
    研读过ucenter 的原理后,再结合测试 ucenter + modoer + discuz X 1.5 + ecshop 2.7.2 实现了完美的同步登入和退出 

    发现一个简单的方法就是,把ucenter 的data/cache/apps.php 文件复制到各个系统的 uc_client/data/cache/apps.php 

    就可以解决大半的同步问题 
    检查过上面问题后,再检查各个系统的关于ucenter 的配置处,确保key和uc里面的一致,然后清空各系统缓存,测试

    http://www.edbiji.com/doccenter/showdoc/69/nav/818.html

    首先有两个测试站点,但是uc_client放错了位置,要粘贴进每个站点里面,然后,要修改uc.php和登陆文件里面所有涉及到的文件路径,官方的例子并没有说明这一点

    看文件是否包含成功,可以在被包含的文件里面用echo打印出来一些东西

     

    登陆一个站点后查看静态页源码

    发现引用的uc的方法用js遍历了一个些东西,就是请求了很多的api登陆接口

    js的遍历认证是以这个apps.php为依据的

    如果通信成功了,uc就会生成一个apps.php,里面有一个数组,其实就是方便刚才登陆的时候用js遍历所有的站点,并一一认证

  • 相关阅读:
    深度讲解Go语言-学习笔记
    vagrant常用命令
    CentOS7 安装Python虚拟环境 virtualenvwrapper
    《Android开发艺术探索》读书笔记——Cha3.2.3改变布局参数实现View的滑动
    Map接口的实现类 Map的区别
    Java多线程之内存可见性和原子性操作 一 synchronized
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 64. Minimum Path Sum
    实现线程同步的几种方式
    IOC的底层原理
  • 原文地址:https://www.cnblogs.com/hellowzd/p/5885000.html
Copyright © 2020-2023  润新知