bbPress RTX 集成
我目前正在研究 RTX/Janrain 与 bbPress 的集成,但我坚持使用 SQL 查询,即使我一直在尝试使用通配符和我知道已注册的电子邮件地址,它也不会给我任何结果。
登入
$rpxApiKey = 'xxxxx';
if(isset($_POST['token'])) { /* 第 1 步:提取令牌 POST 参数 */ $token = $_POST['token'];
/* 第 2 步:使用令牌来制作 auth_info API 调用 */ $post_data = array('token' => $_POST['token'], 'apiKey' =>; $rpxApiKey, '格式' => 'json');
$curl=curl_init(); 卷曲_setopt($卷曲, CURLOPT_RETURNTRANSFER,真); 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, 错误的);卷曲_setopt($卷曲, CURLOPT_SSL_VERIFYPEER,假); $raw_json =curl_exec($curl); curl_close($curl);/* 第 3 步:解析 JSON auth_info 响应 */ $auth_info = json_decode($raw_json, true);
if ($auth_info['stat'] == '确定') { /* 第 3 步继续:从响应中提取“标识符”*/ $profile = $auth_info['profile']; $identifier = $profile['identifier'];
$个人资料['标识符']; if (isset($profile['照片'])) { $photo_url = $profile['照片']; }if (isset($profile['displayName'])) { $name = $profile['显示名称']; }
if (isset($profile['email'])) { $email = $profile['email']; } /* 步骤5,检查数据库中是否存在用户,如果存在则登录,如果 不创建新用户然后登录*/ 全局$bbdb; $查询字符串=“ SELECT * FROM $bbdb->bb_users
WHERE user_email = $email LIMIT 1"; $rtx_user_id = $bbdb->get_results($querystr, OBJECT); print_r($rtx_user_id); 如果($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 "不太好 成功”;}/* 第 6 步:使用标识符作为用户登录的唯一密钥
你的系统。 这将取决于您的网站实施,您应该 添加您自己的 代码在这里。 */
/* 发生错误 */ }
else { // 优雅地处理 错误。将其连接到您的本机 错误处理系统。回声安 发生错误:' . $auth_info['err']['msg']; } } } ?>
问题出现在步骤5,即检查用户是否存在。
提前致谢, 貂
Im currently working on a RTX/Janrain integration with bbPress, but im stuck with a SQL query which doesnt give me any results even though I've been trying with wildcards and an e-mail adress i know is registered.
Sign In
$rpxApiKey = 'xxxxx';
if(isset($_POST['token'])) { /*
STEP 1: Extract token POST parameter
*/ $token = $_POST['token'];/* STEP 2: Use the token to make the
auth_info API call */ $post_data =
array('token' => $_POST['token'],
'apiKey' => $rpxApiKey,
'format' => 'json');$curl = curl_init();
curl_setopt($curl,
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,
false); curl_setopt($curl,
CURLOPT_SSL_VERIFYPEER, false);
$raw_json = curl_exec($curl);
curl_close($curl);/* STEP 3: Parse the JSON auth_info
response */ $auth_info =
json_decode($raw_json, true);if ($auth_info['stat'] == 'ok') {
/* STEP 3 Continued: Extract the 'identifier' from the response */
$profile = $auth_info['profile'];
$identifier = $profile['identifier'];
$profile['identifier'];
if (isset($profile['photo'])) {
$photo_url = $profile['photo'];
}if (isset($profile['displayName'])) { $name = $profile['displayName']; }
if (isset($profile['email'])) {
$email = $profile['email'];
}
/* Step 5, Check if user existis in database, if so login, if
not create new user then login*/
global $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) {
echo "Great success";
wp_set_auth_cookie( (int) $rtx_user_id, 0 ); // 0 = don't
remember, short login, todo: use form
value do_action('bb_user_login',
(int) $rtx_user_id ); } if
(!$rtx_user_id) { echo "Not great
success";}/* STEP 6: Use the identifier as the unique key to sign the user into
your system.
This will depend on your website implementation, and you should
add your own
code here.
*//* an error occurred */ }
else { // gracefully handle the
error. Hook this into your native
error handling system. echo 'An
error occured: ' .
$auth_info['err']['msg']; } } } ?>
The problem accrues in Step 5 which is to check if the user exists.
Thanks in advance,
Marten
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如我们在 Twitter 上讨论的那样,查询行应该是
As we talked on twitter, the query line should be