qq登录,新浪微博登录 ,接口开发
给linux命令在线中文手册加了,qq登录和新浪微博登录,认证用的是auth2.0,并且用了js api和php api相结合的方式来做的。个人觉得这种方式,兼顾安全和人性化。以前写过一篇关于申请的博客,请参考: qq登录,新浪微博登录接口申请过程中遇到的问题 1,js ap
给linux命令在线中文手册加了,qq登录和新浪微博登录,认证用的是auth2.0,并且用了js api和php api相结合的方式来做的。个人觉得这种方式,兼顾安全和人性化。以前写过一篇关于申请的博客,请参考:qq登录,新浪微博登录接口申请过程中遇到的问题
1,js api的优点,就是弹窗登录,不要跳来跳去,烦的很,数据都是后获取的,可以通过浏览器的开发者工具,看到返回的数据,这样保存api返回的数据就不安全了,在浏览器上可以直接写代码,模拟提交
2,php api的缺点,页面跳转,个人感觉跳来跳去,非常让人不爽。但是在保存数据时,要安全的多,并且随时可以到第三方进行数据审核。
如果二者结合起来,不用跳来跳去,数据也可以得到校验。
一,qq登录
qq登录,JS API登录,并获取个人数据,异步提交给php程序,php程序,对提交来的数据,进行第三方校验,也就是说,根据传来的参数,在请求一次php的api,来获取信息,入本地数据库。qq的open id是qq的唯一标识,主要代码如下。
1,js代码
function qq_login(){ QC.Login({ btnId:"qqlogin", scope:"all", size: "A_M" }, function(reqData, opts){ if(QC.Login.check()){ QC.Login.getMe(function(openId, accessToken){ if(openId){ $.ajax({ type:"POST", url:"./?mod=ajax&app=ajax_login&act=qq", async:false, data:{'openid':openId,'access':accessToken,'login':'only'}, success: function(msg){ if(msg == 'yes'){ 这里是你的操作 } } }); } }); } }); }
2,php代码
require_once("路径/qqConnectAPI.php"); //顶部包含这个文件 public function qqAction(){ if(empty($_POST['openid']) || empty($_POST['access'])){ echo "no"; exit; } $this->open_id = $_POST['openid']; $this->access = $_POST['access']; $qc = new QC($this->access,$this->open_id); //对数据进行校验 $arr = $qc->get_user_info(); $result = $this->save_qq($arr); //保存数据 if(!empty($result){ echo "yes"; exit; }else{ echo "no"; exit; }
二,新浪微博登录
js api登录过程,获取到登录数据,并且存储到cookie中,异步提交时,不用传参数到,php程序。php api有方法读取登录的access token,并获取唯一标识,user id
在这里再吐槽一下,新浪的接口,还是不错的,可就是尼玛,文档乱的一踏糊涂,找个东西,那叫痛苦。
1,js 代码
新浪微博的app key,app secret有多个,一个是网站的app key,app secret,网站下,每个创建应用都有一个app key,app secret。 function weibo_login (){ WB2.anyWhere(function(W){ W.widget.connectButton({ id: "weibologin", type:'3,2', callback : { login:function(o){ //登录后的回调函数 $.ajax({ type:"POST", url:"./?mod=ajax&app=ajax_login&act=weibo", async:false, data:{'login':'only'}, success: function(msg){ if(msg == 'yes'){ 你的操作 } } }); } } }); }); }
2,php代码
include_once('路径/config.php'); include_once('路径/saetv2.ex.class.php'); public function weiboAction(){ $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY ); $access = $o->getTokenFromJSSDK(); //从cookie中获取数据 $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $access['access_token'] ); $user_message = $c->show_user_by_id( $access['uid']); $result = $this->save_sina($user_message); //保存数据 if(!empty($result){ echo "yes"; exit; }else{ echo "no"; exit; } }
三,小结
qq登录和微博登录的接口都还是不错的,qq登录在实用性,灵活性,安全性上,比微博就好一点。特别是文档方面,qq登录比微博登录好的太多。新浪微博团队能不能改进一下呢。这就好比,有了家电,没有说明书是一样的。
原文地址:qq登录,新浪微博登录 ,接口开发, 感谢原作者分享。
推荐阅读
-
我用Django搭网站(1)-新浪微博登录
-
PHP Curl模拟登录微信公众平台、新浪微博实例代码
-
PHP调用微博接口实现微博登录的方法示例
-
php新浪微博登录接口用法实例
-
CI框架开发新浪微博登录接口源码完整版
-
新浪微博怎么登录 正确登陆新浪微博的详细图文步骤
-
第三方OAuth授权登录,QQ、微信(WeChat)、微博、GitHub、码云(Gitee)、淘宝(天猫)、微软(Microsoft )、钉钉、谷歌(Google)、支付宝(AliPay)、*
-
php 新浪通行证登录 新浪微博登录 模拟登录 (浏览器版) 2016
-
qq登录,新浪微博登录接口申请过程中遇到的问题
-
新浪微博如何切换账号登录?新浪微博切换账号登录方法