|
论坛里面那个精华是个2.x的版本,怎么整都用不了,找了好久,终于 弄好了,这里发帖记录以下,以便后来人不要浪费时间,话说,ci啥时候能像thinkphp那么活跃的,有各种扩展功能包学习使用呢。
主要是在api/uc.php上的配置
1、安装uc
这个不写了,大家应该都会的。
2、创建ci应用
只要填写应用名称、应用的主 URL就可以,密钥为空即可,是否开启同步登录、是否接受通知选是,提交后把页面最下方那个小方框里面的内容拷贝出来
3、在application/config/目录中创建ucenter.php,把第二步拷贝的内容填进去保存即可。
4、把ucenter源码包里面advanced目录里面的uc_client目录拷贝到ci的根目录,examples目中中的api目录拷贝到ci的根目录,include拷贝到uc_client目录。
5、修改ci根目录api目录中的uc.php,将30行至79行替换成如下代码
PHP复制代码
if(!defined('IN_UC')) {
error_reporting(0);
set_magic_quotes_runtime(0);
defined('MAGIC_QUOTES_GPC') || define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
require_once DISCUZ_ROOT .'application/config/ucenter.php';
$_DCACHE = $get = $post = array();
$code = @$_GET['code'];
parse_str(_authcode ($code, 'DECODE', UC_KEY ), $get);
if(MAGIC_QUOTES_GPC ) {
$get = _stripslashes ($get);
}
$timestamp = time();
if($timestamp - $get['time'] > 3600) {
exit('Authracation has expiried');
}
if(empty($get)) {
exit('Invalid Request');
}
$action = $get['action'];
require_once DISCUZ_ROOT .'./uc_client/lib/xml.class.php';
$post = xml_unserialize (file_get_contents('php://input'));
if(in_array($get['action'], array('test', 'deleteuser', 'renameuser', 'gettag', 'synlogin', 'synlogout', 'updatepw', 'updatebadwords', 'updatehosts', 'updateapps', 'updateclient', 'updatecredit', 'getcredit', 'getcreditsettings', 'updatecreditsettings', 'addfeed'))) {
$uc_note = new uc_note ();
echo $uc_note->$get['action']($get, $post); exit();
} else {
exit(API_RETURN_FAILED );
}
//note include 通知方式
} else {
exit();
}
复制代码
在ucenter里面刷新下应用是不是通信成功了,具体原因别问我,我也是刚弄好,还没细看,应该是ucenter默认的应用连接都是数据库,被去掉的那几行只是不验证数据库而已,在详细的我还没试,后面等把代码写完了在做测试。
另外,谁有可用的详细的整合第三方登录的接口吗?谁有共享下。
|
|