bbPress RTX集成

时间:2010-12-22 15:25:59

标签: php sql janrain bbpress rtx

我目前正在与bbPress进行RTX / Janrain集成,但我坚持使用SQL查询,即使我一直在尝试使用通配符和我知道已注册的电子邮件地址,但它并没有给我任何结果。

  

  登入      

$ rpxApiKey ='xxxxx';

     

if(isset($ _ POST ['token'])){/ *   第1步:提取令牌POST参数   * / $ token = $ _POST ['token'];

     

/ *第2步:使用令牌制作   auth_info API调用* / $ post_data =   array('token'=> $ _POST ['token'],                        'apiKey'=> $ rpxApiKey,                        'format'=> 'JSON');

     

$ curl = curl_init();     curl_setopt($卷曲,   CURLOPT_RETURNTRANSFER,true);     curl_setopt($ curl,CURLOPT_URL,   'https://rpxnow.com/api/v2/auth_info');   curl_setopt($ curl,CURLOPT_POST,true);
  curl_setopt($ curl,CURLOPT_POSTFIELDS,$ post_data);     curl_setopt($ curl,CURLOPT_HEADER,   假); curl_setopt($卷曲,   CURLOPT_SSL_VERIFYPEER,false);     $ raw_json = curl_exec($ curl);     curl_close($卷曲);

     

/ *步骤3:解析JSON auth_info   响应* / $ auth_info =   json_decode($ raw_json,true);

     

if($ auth_info ['stat'] =='ok'){       / *第3步续:从响应中提取'标识符'* /       $ profile = $ auth_info ['profile'];       $ identifier = $ profile ['identifier'];
  $简档[ '标识符'];       if(isset($ profile ['photo'])){        $ photo_url = $个人资料['照片'];       }

if (isset($profile['displayName']))  {
  $name = $profile['displayName'];
}
     

if(isset($ profile ['email'])){         $ email = $个人资料['email'];       }                 / *步骤5,检查用户是否存在于数据库中,如果是,则登录,如果   不创建新用户然后登录* /     全球$ bbdb; $ querystr =“     SELECT * FROM $ bbdb-> bb_users
    WHERE user_email = $ email LIMIT   1“; $ rtx_user_id =   $ bbdb-> get_results($ querystr,OBJECT);     的print_r($ rtx_user_id);       if($ rtx_user_id){       呼应“巨大的成功”;       wp_set_auth_cookie((int)$ rtx_user_id,0); // 0 =不   记住,短暂登录,待办事项:使用表格   值do_action('bb_user_login',   (int)$ rtx_user_id);如果   (!$ rtx_user_id){echo“不太好   成功“;}

/* STEP 6: Use the identifier as the unique key to sign the user into
     

你的系统。          这将取决于您的网站实施,您应该   添加你自己的          代码在这里。       * /

     

/ *发生错误* /}

     

else {//优雅地处理   错误。把它挂进你的家乡   错误处理系统。回声'安   发生了错误: ' 。   $ auth_info [ 'ERR'] [ 'MSG']; }>

第5步中出现的问题是检查用户是否存在。

提前致谢, 貂

1 个答案:

答案 0 :(得分:2)

正如我们在twitter上谈到的那样,查询行应该是

$querystr = "SELECT * FROM $bbdb->users WHERE user_email = '$email' LIMIT 1";