2015/11/05 更新
修复了bug
使用wp_remote_get
和wp_remote_post
函数
使用微博接入的原因主要是审核不需要备案,微博的普及程度相对不错,可以在微博上显示小尾巴,增加曝光度。
Oauth2.0 实现起来也非常简单,只不过各家在具体参数和细节上有所不同。
推荐方法
个人感觉应该使用弹窗式,授权完成后原页面自动刷新,不影响用户原有操作。
而避免注册新帐号或者绑定账号这个过程,减少用户操作的复杂度。
具体可到dev.fatesinger.com体验
实现方法
repo中是多个oauth方法结合在一起的。
文件下载方法
微博登录只需要使用weibo.php
中的代码加入到你的functions.php
中即可
注意weibo.php
中的
define('WB_APPID','');//appkey define('WB_APPSECRET','');//appsecret
填上你的id和secret,填写到单引号中,申请方法请参考文末相关文章
授权地址为
<?php echo weibo_oauth_url(); ?>
使用window.open
方式打开授权后将刷新原页面
可直接使用get_user_meta($userid,'sina_avatar',true)
调用新浪微博头像,也可以用functions.php
中的hook。
博主你好,下载了你提供的文件,填入了自己的key和token,Github首次授权可以成功登录;
但是退出重新授权就失败,无法登陆。
我检查了下数据库的wp_usermeta表,发现github_id并没有存进去。
update_user_meta($this_user->ID ,”github_id”,$github_id);
不知道是什么原因,实在没办法了,才过来留言,望指点。
(环境是WordPress4.4.2)
@Jason
这个是微博登录啊。。
@bigfa 你给的github地址不是也有github登录嘛。
另外,微博登录我也试了,10次有9次不能update数据到usermeta表。偶尔能成功
@Jason
我觉得是你服务器环境的问题,缓存什么的。。
@bigfa 你说的有道理,我已经删掉所有插件,更换成WordPress默认的主题,还需要检查哪里?
@bigfa 感谢,问题已经解决了,是主题的问题。
@Jason 最终怎么解决的?可以提供一下思路么
<?php weibo.php里面是这样开头的,放进去网站打不开了就
@哔哩福利
PHP 一点都不懂就不要尝试了
weibo.php里面的内容放在functions.php文件中,网站打开是空白的,什么原因?
@1581052236 参考我对上一条的回复
填好了,测试一下就报错了:错误码:21322
重定向地址不匹配
@店小二 那就是重定向地址写错了呗。。。
@bigfa 没写错呢?因为返回的时候,只是授权之后返回的时候增加了一个 &code=XXX 就校验不过了。
@bigfa 补充一下:是授权成功后,回调,显示 【服务器响应错误】,我把$output 打印出来提示,重定向错误。
@bigfa 我修改了一下成功了:wb_get_access_token 函数中 修改
‘redirect_uri’ => home_url(),
为:
‘redirect_uri’ => home_url().’/?type=sina’,
不知道是我们配置特殊,还是普遍情况,给后面的同学一个参考吧。
@店小二 还有一个错误
update_user_meta($user_weibo[0]->ID ,”sina_avatar”,$str[‘profile_image_url’]);
$str 变量没有定义,改为:
update_user_meta($user_weibo[0]->ID ,”sina_avatar”,$avatar);
否则第二次登录就没有头像了。
@店小二 你头像真好看
@snail 这特么是博主生成的吧。