首页 > php教程 > php手册 > 正文

qq登录,新浪微博登录 ,接口开发

php中文网
发布: 2016-06-06 20:10:06
原创
1607人浏览过

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;
        }
登录后复制

二,新浪微博登录

KesionEshop在线商城系统 X2.0 正式版(utf-8)
KesionEshop在线商城系统 X2.0 正式版(utf-8)

KesionEshop在线商城系统拥有十余个主系统模块,如:文章、图片、下载、问答、论坛、商城、团购、微博及上百个子系统模块如:站内调查、友情链接、广告系统、积分、评论、采集等;百分百开源,让网站二次开发无后顾之忧。功能模块化处理,灵活模板标签调用,轻松打造各种网站效果。集成多家主流支付接口:如支付宝,财付通,微信支付等,以及多家账号通:QQ登录,微信登录,新浪微博登录等,融合ucnenter接口

KesionEshop在线商城系统 X2.0 正式版(utf-8) 0
查看详情 KesionEshop在线商城系统 X2.0 正式版(utf-8)

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
QQ

QQ是腾讯在中国开发的一款社交应用,用户可用QQ在手机和电脑上聊天。QQ截止目前拥有超过8.2亿用户,是中国最多人使用的社交应用程序之一,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号