Пример #1
0
 function callback()
 {
     //var_dump($_REQUEST);
     $renren = new RenrenConnect();
     //这个key就是这个用户的令牌,很NB,要好好保存
     $callback = site_url() . '/binding/renren/callback';
     $sns_oauth_token = $renren->get_access_token(RENREN_APPKEY, RENREN_APPSECRET, $callback, $_REQUEST['code']);
     //var_dump($sns_oauth_token);
     $result = $renren->get_session_key($sns_oauth_token);
     //var_dump($result);
     $reren_session_key = $result->renren_token->session_key;
     $reren_session_secret = $result->renren_token->session_secret;
     $reren_token_expires_in = $result->renren_token->expires_in;
     $sns_uid = $result->user->id;
     if (empty($sns_uid)) {
         throw new Exception('oauth fail, havnt got get_access_token()');
     }
     //获取用户信息
     $me = $renren->get_user_info(RENREN_APPKEY, RENREN_APPSECRET, $reren_session_key, $sns_uid);
     //var_dump($me);
     //把资料准备好之后,剩下的就交给父类里的模版方法了!
     parent::post_login(UserManager::sns_website_renren, $sns_uid, $reren_session_key, $reren_session_secret, $me[0]->name, $reren_token_expires_in);
     /*
     $binding = $this->usermanager->get_binding_by_sns_uid(UserManager::sns_website_renren, $sns_uid);
     if(empty($binding))
     {
     	//初次登录用户
     	//创建用户(同时创建sns_binding)
     	$user = $this->usermanager->create_user(UserManager::sns_website_renren, $sns_uid, $reren_session_key, $reren_session_secret, $me[0]->name, $reren_token_expires_in);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/first_binding', $data);
     }
     else {
     	//老用户
     	$user = $this->usermanager->get_by_id($binding->user_id);
     	//更新session_key,$reren_token_expires_in和display_name
     	if ($reren_session_key!=$binding->sns_oauth_token || $me[0]->name!=$binding->sns_display_name) {
     		$binding = $this->usermanager->update_sns_binding($binding->user_id, UserManager::sns_website_renren, $sns_uid, $reren_session_key, $reren_session_secret, $me[0]->name, $reren_token_expires_in);
     	}
     	//把刚登录的的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/not_first_binding', $data);
     }
     */
 }
Пример #2
0
 function callback()
 {
     //var_dump($_REQUEST);
     //这个key就是这个用户的令牌,很NB,要好好保存
     $callback = site_url() . '/binding/tqq/callback';
     //var_dump($this->session);
     $o = new MBOpenTOAuth(MB_AKEY, MB_SKEY, $this->session->userdata('oauth_token'), $this->session->userdata('oauth_token_secret'));
     $result = $o->getAccessToken($_REQUEST['oauth_verifier']);
     //获取ACCESSTOKEN
     //var_dump($result);
     $sns_oauth_token = $result['oauth_token'];
     $sns_oauth_token_secret = $result['oauth_token_secret'];
     $sns_uid = $result['name'];
     //让人吃金啊
     if (empty($sns_uid)) {
         throw new Exception('oauth fail, havnt got getAccessToken()');
     }
     //获取用户信息
     //$c = new WeiboClient( WB_AKEY , WB_SKEY , $sns_oauth_token , $sns_oauth_token_secret);
     $c = new MBApiClient(MB_AKEY, MB_SKEY, $sns_oauth_token, $sns_oauth_token_secret);
     $me = $c->getUserInfo();
     $me = $me['data'];
     //把资料准备好之后,剩下的就交给父类里的模版方法了!
     parent::post_login(UserManager::sns_website_tqq, $sns_uid, $sns_oauth_token, $sns_oauth_token_secret, $me['name']);
     /*
     $binding = $this->usermanager->get_binding_by_sns_uid(UserManager::sns_website_tqq, $sns_uid);
     if(empty($binding))
     {
     	//初次登录用户
     	//创建用户(同时创建sns_binding)
     	$user = $this->usermanager->create_user(UserManager::sns_website_tqq, $sns_uid, $sns_oauth_token, $sns_oauth_token_secret, $me['name']);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/first_binding', $data);
     }
     else {
     	//老用户
     	//TODO 初次登录进入binding/first_binding,否则关闭弹出窗口,刷新父页面
     	$user = $this->usermanager->get_by_id($binding->user_id);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/not_first_binding', $data);
     }
     */
 }
Пример #3
0
 function callback()
 {
     //$o = new WeiboOAuth( WB_AKEY , WB_SKEY , $_SESSION['oauth_keys']['oauth_token'] , $_SESSION['oauth_keys']['oauth_token_secret']  );
     $o = new WeiboOAuth(WB_AKEY, WB_SKEY, $this->session->userdata('oauth_token'), $this->session->userdata('oauth_token_secret'));
     //这个key就是这个用户的令牌,很NB,要好好保存
     //var_dump($_REQUEST);
     $last_key = $o->getAccessToken($_REQUEST['oauth_verifier']);
     $sns_oauth_token = $last_key['oauth_token'];
     $sns_oauth_token_secret = $last_key['oauth_token_secret'];
     $sns_uid = $last_key['user_id'];
     //var_dump($last_key);
     if (empty($sns_uid)) {
         throw new Exception('oauth fail, havnt got getAccessToken()');
     }
     //获取用户信息
     $c = new WeiboClient(WB_AKEY, WB_SKEY, $sns_oauth_token, $sns_oauth_token_secret);
     $me = $c->verify_credentials();
     //把资料准备好之后,剩下的就交给父类里的模版方法了!
     parent::post_login(UserManager::sns_website_sina, $sns_uid, $sns_oauth_token, $sns_oauth_token_secret, $me['name']);
     /*
     $binding = $this->usermanager->get_binding_by_sns_uid(UserManager::sns_website_sina, $sns_uid);
     if(empty($binding))
     {
     	//初次登录用户
     	//创建用户(同时创建sns_binding)
     	$user = $this->usermanager->create_user(UserManager::sns_website_sina, $sns_uid, $sns_oauth_token, $sns_oauth_token_secret, $me['name']);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/first_binding', $data);
     }
     else {
     	//老用户
     	//TODO 初次登录进入binding/first_binding,否则关闭弹出窗口,刷新父页面
     	$user = $this->usermanager->get_by_id($binding->user_id);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/not_first_binding', $data);
     }
     */
 }
Пример #4
0
 function callback()
 {
     //var_dump($_REQUEST);
     $qq = new QqConnect();
     //这个key就是这个用户的令牌,很NB,要好好保存
     $result = $qq->get_access_token(QQ_APPID, QQ_APPKEY, $this->session->userdata('oauth_request_token'), $this->session->userdata('oauth_request_token_secret'), $_REQUEST['oauth_vericode']);
     //var_dump($result);
     $sns_oauth_token = $result['oauth_access_token'];
     $sns_oauth_token_secret = $result['oauth_access_token_secret'];
     $sns_uid = $result['openid'];
     if (empty($sns_uid)) {
         throw new Exception('oauth fail, havnt got get_access_token()');
     }
     //获取用户信息
     $me = $qq->get_user_info(QQ_APPID, QQ_APPKEY, $sns_oauth_token, $sns_oauth_token_secret, $sns_uid);
     //把资料准备好之后,剩下的就交给父类里的模版方法了!
     parent::post_login(UserManager::sns_website_qq, $sns_uid, $sns_oauth_token, $sns_oauth_token_secret, $me['nickname']);
     /*
     $binding = $this->usermanager->get_binding_by_sns_uid(UserManager::sns_website_qq, $sns_uid);
     if(empty($binding))
     {
     	//初次登录用户
     	//创建用户(同时创建sns_binding)
     	$user = $this->usermanager->create_user(UserManager::sns_website_qq, $sns_uid, $sns_oauth_token, $sns_oauth_token_secret, $me['nickname']);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/first_binding', $data);
     }
     else {
     	//老用户
     	//TODO 初次登录进入binding/first_binding,否则关闭弹出窗口,刷新父页面
     	$user = $this->usermanager->get_by_id($binding->user_id);
     	//把新创建的用户放到ci->weixiao里
     	$this->weixiao->set_user_token($user->user_token);
     	$cur_user = $this->weixiao->get_cur_user();
     	if(empty($cur_user)) throw new Exception("something strange happens, cant get user just login.");
     	$data = array('user'=>$cur_user);
     	$this->load->view('binding/not_first_binding', $data);
     }
     */
 }