OAuth 2.0 . 第三方 登录 (新浪微博、腾讯QQ)

首先 去 QQ互联、新浪微博开放平台、 申请应用 成功:

注:在 申请应用时  会有<meta property="qc:admins" content="113133650471167627000636" /> 验证 把这段代码粘贴

到你的网站根目录默认访问的文件里的head头信息中。113133650471167627000636 为 应用序列号 每次申请应用和修改 地址等 都会发生变化 如果  不操作 这块代码 就不会检测成功 应用申请不会成功

新浪微博 也一样

然后 编写程序

1、腾讯QQ

index.html

<span style="font-size:18px;"><html>
<header>
<meta property="qc:admins" content="----序列号-----" />
</header>
<a href='https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=———你的APPID———&redirect_uri
=http://———你的网站域名———/index.php&state=test'><img src='qq.jpg'/> </a>
</html></span>

index.php

//获取Authorization Code
$url ='https://graph.qq.com/oauth2.0/token?client_id=101213309'
.'&client_secret=9fbaba03a7ba86f7a08d064f4db5f11b'
 .'&redirect_uri=http://taotao.com133.com/index.php'
 .'&grant_type=authorization_code'
 .'&code='.$_REQUEST['code'];
//访问https://graph.qq.com/oauth2.0/token,传值APPID,APPKEY,并传值到Authorization Code
 $info = file_get_contents($url);//得到Access Token
//print_r($info);die;
      $params = array();
   parse_str($info, $params);//把接收到的字符串转化为数组
//print_r($params['access_token']);die;   $params['access_token']为接收到的token值
    $url1='https://graph.qq.com/oauth2.0/me?access_token='.$params['access_token'];
$open=file_get_contents($url1);//访问https://graph.qq.com/oauth2.0/me?access_token  传值token  得到callback响应函数
    print_r($open);"<br/>";
    $str1 = substr($open,9,-3);//将得到的字符串截串为json格式数据
    
//print_r($str1);die;
    $arr= json_decode($str1, true);//解析json数据,true设置可以使json数据以数组格式打印出
    print_r($arr['openid']);echo "<br/>";     //$arr['openid']为openid
//die;
    $url2="https://graph.qq.com/user/get_user_info?access_token=".$params['access_token']."&oauth_consumer_key=101213309&openid=".$arr['openid'];//访问https://graph.qq.com/user/get_user_info  传值token,APPID,openid
print_r($url2);    echo "<br/>";
    $data=file_get_contents($url2);//抓取用户信息数据  返回json格式数据
    //print_r($data);exit;
    $arrrrr= json_decode($data, true);
    print_r($arrrrr);die;

2、新浪微博

<html xmlns:wb="http://open.weibo.com/wb">
<meta property="wb:webmaster" content="-----序列号-------" /></meta>
<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=------appkey------" type="text/javascript" charset="utf-8">
</script>
<script type="text/javascript">
<!--
	WB2.anyWhere(function (W) {
    W.widget.connectButton({
        id: "wb_connect_btn",
        type: '3,2',
        callback: {
            login: function (o) { //登录后的回调函数
             alert(o);//用户的信息

            },
            logout: function () { //退出后的回调函数
                alert('logout');
            }
        }
    });
});
//-->
</script>
<div id="wb_connect_btn"></div>

</html>
时间: 2024-08-06 04:35:13

OAuth 2.0 . 第三方 登录 (新浪微博、腾讯QQ)的相关文章

oAuth 2.0 第三方登录详细介绍(github)

流程图如下: 说明:本文以github登录为例 注册github账号,登录后在个人信息页面一次点击Applications>Developer applications>Register a new application弹出如下界面 前三项就依据个人应用添加      最好callback URL 就是回调的地址了   添加对应平台的接口  github允许填写本地连接地址(开发中直接填http://127.0.0.1:8080/xxx/xxx   这个地址要和授权的时候的传入的地址参数一致

Oauth 2.0第三方账号登录原理图

百度.QQ等服务商

.Net Oauth2.0 第三方登录开发(Facebook ,LinkedIn )

需求:OAuth2实现第三方网站授权并获取其相关数据来实现登录等功能 暂时支持Facebook ,LinkedIn ,基本大同小异,只是返回时的数据不同,需根据具体返回类型进行相应处理 1.OAuth2认证流程 OAuth2认证协议涉及3方(应用.用户和服务方),加之流程较为繁琐,实现命名不尽相同, 容易忘记和混淆,简述认证流程如下 1.向使用OAuth2认证的服务方申请应用,获取应用的client_id(应用唯一标识)和client_secret(应用私钥) 2.使用key/secret向服务

实现QQ、微信、新浪微博和百度第三方登录(Android Studio)

前言: 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于第三方登录的实现,并拿出来与大家一同分享: 各大开放平台注册账户获取AppKey和AppSecret Mob开放平台地址:http://www.mob.com/#/index QQ开放平台地址:http://open.qq.com/ 新浪微博开放平台地址:http://open.weibo.com/ 微信开放平台地址:https://open.weixin.qq.com/ 

Android 实现QQ、微信、新浪微博和百度第三方登录

前言: 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于第三方登录的实现,并拿出来与大家一同分享: 各大开放平台注册账户获取AppKey和AppSecret Mob开放平台地址:http://www.mob.com/#/index QQ开放平台地址:http://open.qq.com/ 新浪微博开放平台地址:http://open.weibo.com/ 微信开放平台地址:https://open.weixin.qq.com/ 

第三方登录小结

说明: 由于业务需要,所以这两天抽空看了一下第三方登录的API,从而实现了第三方的登录. 一.申请APPID 到QQ和新浪微博的开发平台申请APPID和SECRET ,这是一个百度的apistore,第三方登录: 二.QQ登录 1. 使用js i. 先引入js(redirecturi是登录成功后的返回页面地址) <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_

thinkphp 3.23 第三方登录sdk集成包

本集成包在官方包上扩展了支付宝登录和微信,支持最新的3.23版本 config    /* URL配置 */     'URL_CASE_INSENSITIVE' => true, //默认false 表示URL区分大小写 true则表示不区分大小写     'URL_MODEL' 本集成包在官方包上扩展了支付宝登录和微信,支持最新的3.23版本 config     /* URL配置 */     'URL_CASE_INSENSITIVE' => true, //默认false 表示URL

iOS集成ShareSKD第三方登录

突然项目要求将原本的登录方式加入第三方登录,要求加入QQ,微博,微信这三个主流平台. 之前做android开发的时候试过集成QQ,微博的第三方登录,没有使用ShareSDK,直接一个平台一个平台的去集成,但是到处找文档,那个心都累了.这次果断选择了站在巨人的肩膀上,让自己开发更轻松点. ShareSDK,已经帮我们集成了多个平台的分享,登录的SDK,按需下载,也帮我们封装好了接口,使用起来相对简单,关键是省时间呀.. 集成第一步,还是先乖乖的到ShareSDK官网注册一个账号,然后创建一个应用,

[Next] Next.js+Nest.js实现GitHub第三方登录

GitHub OAuth 第三方登录 第三方登录的关键知识点就是 OAuth2.0 . 第三方登录,实质就是 OAuth 授权 . OAuth 是一个开放标准,允许用户让第三方应用访问某一个网站的资源,而不需要提供账号和密码. 总体就是:myapp <===> user <===> github 授权的总体流程 用户进入到我的网站,我想要获取到用户的 GitHub 信息 跳转到 GitHub 授权页面,然后问用户是否允许我获得他的信息,授予权限 同意,我的网站会获得 GitHub