超级计算机囧囧囧's Archivers

From admin on 2011-06-09 22:33:19

怎么与人人连接(用人人账户登录)




与人人连接大概分如下几个步骤:

(创建应用:http://app.renren.com/developers/createapp,如果是人人连接的网站,不需要配置“Canvas设置”)

1、放置Connect登录按钮,人人用户通过这个按钮弹出的人人页面登录人人

2、登陆成功之后js跳转到某一个js函数或者某一个页面或者某一个action,再获取人人设置的cookie,验证cookie是否有效

现成的客户端的:http://wiki.dev.renren.com/wiki/ ... D专区

这个cookie的验证有些客户端有,有些可能没有,没有自己写也很简单,这里举个例子吧

php函数举例:

//获取cookie
function rr_get_session() {
$connect_session = array (
"user" => $_COOKIE[API_KEY.'_user'],
"session_key" => $_COOKIE[API_KEY.'_session_key'],
"ss" => $_COOKIE[API_KEY.'_ss'],
"expires" => $_COOKIE[API_KEY.'_expires'],
);
return $connect_session;
}
//数字签名,具体参见其他帖子:http://forum.dev.renren.com/viewthread.php?tid=8565&extra=page=1
function rr_generate_sig($params, $secret=SECRET) {
ksort($params);
$sig = '';
foreach($params as $key=>$value) {
$sig .= "$key=$value";
}
$sig .= $secret;
return md5($sig);
}
//cookie验证
function rr_verify() {
$session = rr_get_session();
if(empty($session) || empty($session['expires']) || time() > intval($session['expires']) )
return false;
else
return rr_generate_sig($session) == $_COOKIE[API_KEY];
}


下载:[download id="2"]

该文件包含上面的cookie验证代码

3、如果通过了验证,就根据cookie中的用户id和sesionkey去调用rest接口获取用户的一些基本信息:比如姓名、性别、地址、生日、头像地址等

有现成的客户端的,一般不需要自己写:http://wiki.dev.renren.com/wiki/ ... D专区

下面的例子,可以看一下实现的原理,自己写一个其实也不难

php函数举例:



引用了这个php文件之后,将里面的如下变量改成你的appkey和secret

define('RR_CONNECT_API_KEY', $apikey);//这里改成自己的

define('RR_CONNECT_SECRET', $secret);//这里改成自己的

就可以通过如下方式直接调用里面的函数,获取用户信息了

$user_info = rr_get_user_info();//或者$user_info = rr_get_user_info(renren_uid);因为登陆的人人用户的id可以直接从cookie中获取,所以可以不传,该方法已包含cookie验证,无需自己写

$sex=$user_info->sex;

$birthday=$user_info->birthday;

$username = $user_info->name;

$headurl_with_logo = $user_info->headurl_with_logo;

。。。

4、获取出用户的信息之后,就需要用这些信息将该用户注册到你的网站用户表里,该用户的密码随机比较安全,注册完之后,用刚注册完的用户id与人人的id进行关联,当然你需要新创建一个人人用户id与网站用户id的一个对应表,存储他们的对应关系,当人人用户再次登录的时候直接通过该关系取出对应的网站用户进行登录;

当然也可以绑定网站原有账号,至于在登陆前绑定还是登陆后绑定需要你自己选择,

具体看这个:http://wiki.dev.renren.com/wiki/ ... F整合

5、这样登陆就完成了,然后分享、自定义新鲜事、邀请好友等也需要自己加,主要是人人登录用户分享网站的东西到人人,吸引人人的用户到你的网站,这里不多说了

http://wiki.dev.renren.com/wiki/ ... B教程

6、退出你的网站的时候,可以选择同时退出人人,也可以不选,自己控制好流程就可以了


查看完整版本: 怎么与人人连接(用人人账户登录)

Tags: 人人


©超级计算机囧囧囧