ucenter安装和集成网站心得和通信失败,同步登录失败采坑以及解决方法

2019-11-04 16:57发布

不墨迹,直接说重点:(配置了uc的网站不要再去采集了,否则uid不一致,新用户永远无法同步登录了)

下载系统后留意文件夹里是否带了uc的源码

image.png

api是接口文件夹,uc_client是uc的客户端文件,api和uc_client文件夹都必须有。

ucserver文件夹是uc中心服务器端的,如果没安装uc服务器端管理中心可以安装http://你的域名/ucserver,一般安装discuz产品默认带了,反正没有就自己安装。


如果没有去这里下载:http://git.whatsns.com/whatsns/whatsns_free

image.png

然后将文件夹上传到问答根目录


现在讲解uc端配置,上面文件夹咱们都有了,现在正式开始配置:


第一步,配置uc通信信息

image.png

去应用管理中心添加新应用

image.png

image.png

填写问答域名网址即可,注意箭头,设置通信密钥 其它得空着,勾选同步登录,然后复制uc信息到问答后台

image.png


参考原文配置教程:https://wenda.whatsns.com/article-14830.html


此处重点讲采坑,刚开始通信失败,原因有2:

1 目前问答网站data/cache/setting.php文件为空,需要访问首页后动态生成一个setting.php(配置缓存),检查有没有这个文件

2 通信信息配置错了,网址写错了,网址填http://域名,其它得不要填,不要带 /,也不要/index.php,如图所示即可,如果是二级目录安装定位到二级目录名称

image.png


如果通信成功后,亲测注册没问题,注册后会同步到uc管理中心。


下面就是登录采坑记录


1 切记uc管理中心得用户uid和问答网站还有需要同步登录得网站用户uid三个都要一致,比如问答用uid=15得用户登录,那么uc后台用户管理中必须存在uid=15且同步登录得第三方网站也需要有uid=15得用户

而且账号名称和密码都要一致。(如果同步登录失败自己检查即可)

2 默认uid自增从1开始得,所以如果新注册用户uid肯定不一致,需要手动调整到老网站用户表中得最大值,比如我dz用户已经有1000,那么新安装得问答里用户uid必须从1001开始

3 上面得uid一致后发现还是不能同步登录,如何解决?

排查问题得知,uc接口文件带坑,不能生成cookie,找到api/uc.php文件,然后ctr+F搜索 checkattack ,注释或者删掉图片中得箭头指向代码(已注释 ,//代表注释)

image.png


4 别高兴太早,虽然能生成cookie,但是默认uc_client无法自动更新app信息,也就是 uc_client\data\cache\apps.php就是多端应用配置信息,这个没写入。

我手动将ucserver服务器端文件里配置用得信息复制粘贴过来了,你们别傻乎乎得也去复制网站根目录下得ucserver文件夹里得应用配置文件,我是将uc后台安装在ucserver里,也就是官方自带得,

如果你们是安装dz自带或者别的地方下载得,去你们uc管理网站所在目录复制:uc管理中心网站目录\data\cache\apps.php,将里面得配置信息都拷贝到对应其它网站得uc_client\data\cache\apps.php文件里,或者干脆覆盖对应得文件。


第四步完成后还是不能同步登录,最后发现是官方代码采用ajax登录得,uc同步登录采用浏览器里输出script地址登录,所以只能修改官方登录代码,修改代码我已经修改,大家可以下载并上传解压覆盖

uc同步登录代码修改.zip


上面几个步骤完成后就可以实现同步登录,退出和注册了。参考视频演示