ThinkPHP接入微博登录

微博登录原理,简单介绍一下,通过特定网址携带固定参数,发起请求登录,之后通过回调地址,获取code值,通过code值获取access_token值和uid值,通过上面获取的值获取用户信息。

以下基础信息简要介绍一下

一、申请账号

地址:https://weibo.com/signup/signup.php

二、完善信息

完善信息,实名认证等操作

三、申请应用

选择“微博登录”,并填写相关信息,完善应用。

四、应用审核

获取相关信息,App key 和 App Sercet,以及填写回调地址

五、前端代码

填写“App key” 和“回调地址”,将链接上的**顺序替换

<a class="btn btn-info" href="https://api.weibo.com/oauth2/authorize?client_id=*****&response_type=code&redirect_uri=******">微博登录</a>

六、php代码

//微博回调
	public function wbback(){
        //参数设置
        $Client_id = "***";    //appkey
        $Client_secret = "***";    //App Sercet
        $Redirect_uri = "***"; //回调地址
        //接收code值
        $Code = I(‘get.code‘);
        if(!$Code) $this->error("code获取失败!");
        //获取access_token
		$url = "https://api.weibo.com/oauth2/access_token?client_id=$Client_id&client_secret=$Client_secret&grant_type=authorization_code&redirect_uri=$Redirect_uri&code=$Code";
        $info = $this->httpsRequest($url);
        //json转数组
        $info_json = json_decode($info,true);
        //获取access_token和uid,用于获取用户信息
        $access_token = $info_json[‘access_token‘];
        $uid = $info_json[‘uid‘];

        if($info){
            //设置中文字符集
            header("Content-type:text/html;charset=utf-8");
            //获取用户信息
            $info_url = "https://api.weibo.com/2/users/show.json?access_token=$access_token&uid=$uid";
            $ch = curl_init();
            //设置选项,包括URL
            curl_setopt($ch, CURLOPT_URL,$info_url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            //执行并获取HTML文档内容
            $output = curl_exec($ch);
            curl_close($ch);
            //此处可打印用户所有信息
            //dump($output);
            $userinfo = json_decode($output,true);
            $username = $userinfo[‘screen_name‘];
            echo "登录成功,用户名:$username";
        }
	}
    //httpsRequest
    public function httpsRequest($url,$post_data){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        // 设置请求为post类型
        curl_setopt($ch, CURLOPT_POST, 1);
        // 添加post数据到请求中
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

        // 执行post请求,获得回复
        $res= curl_exec($ch);
        curl_close($ch);
        return $res;
    }

七、后续开发,请自行操作,谢谢
--------------------------------------------------------转载请标注出处,谢谢!---------------------------------------------------------------

原文地址:https://www.cnblogs.com/shenlin/p/8308682.html

时间: 2024-10-08 09:37:46

ThinkPHP接入微博登录的相关文章

django 注册、登录及第三方接口程序(4):扩展邮箱注册,登录,微博登录

1.邮箱注册 这里需要扩展User,两种解决办法,1,注册时将email字段内容赋给username,这种瞒天过海型的,另一种就是扩展user,这里介绍django1.5的扩展方法. 1.setting配置 AUTH_USER_MODEL = 'manager.MyUser' # 扩展表的位置,appname.Model, MyUser是manager app下models中的用户类 AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends

React Native 接入微博、微信、QQ 登录功能

在 App 开发中我们经常需要在用户登录模块接入 SNS 登录组件,这样会大大提高用户的注册体验.特别当一个不是刚性需求 App 推广的时候,这样会很大的降低用户体验的成本,没有人愿意忍受输入邮箱.手机号码去注册一个账号的流程.本文主要分享了在 React Native 中接入微博.微信.QQ 登录的流程,以及此前登录组件中修复的一个已知 bug 的修复. 使用中有任何问题欢迎留言交流.讨论.http://blog.1ygowu.com ReactNative技术交流 QQ群127482131

微博登录、微信登录、qq登录java技术实现

为了增加用户体验,用户能够快速的注册登录,第三方账号进行登录注册的的需求也就由此而诞生 1.微信 1) 微信登录也是最坑人的,需要花300大洋成为开发者账户,没办法谁让微信用户群体大呢所以也就只好认了:然后登录网站后台需要创建网站应用,填写授权回调域(登录网站的域名)只填写域名即可 申请地址: https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN 2)查看微信提供的接口,写java代码 public void wx() 

腾讯空间、新浪微博、腾讯微博登录接口

腾讯空间.新浪微博.腾讯微博登录接口的使用. 注意:在网站对接前,请先申请注册好您的QQ登录appid.新浪登录Appkey.腾讯微博appkey. 1.引用JS文件 <script src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="appid"  type="text/javascript" language="javascript&q

java如何在网站中接入qq登录功能

其实接入qq登录还是很简单的,但是你既然要做qq登录肯定你得网站要能够在外网访问的到, 因为qq在对你得网站授权之间会进行人工检查,检查你得图标摆放位置合不合理,网站是否违法等内容. 当你的网站能够在外网访问的时候 我们在qq开发者网站中申请网站的授权 用你的qq登录这个网站 http://connect.qq.com/ 在管理中心创建你的应用 创建应用的时候需要你填写一些网站的基本信息 如访问网址.登录成功后回调地址(也就是你处理登录请求的action) 腾讯会在request中封装qq验证后

Android 第三方QQ、微信、微博登录分享

最近弄了下QQ微信微博的登录分享,在这里做一下总结,以下登录分享使用的都是官方的最新SDk. 首先是QQ的登录: 1.第一步肯定是先去开放平台注册应用,这里步骤就不详细说了 http://open.qq.com/ 2.将下载好的jar包导入工程,在AndroidManifest文件里面注册SDK里面提供的Activity <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="

ThinkPHP实现用户登录

ThinkPHP实现用户登录 ? //默认url入口 ? class IndexAction extends Action{ function index() { //检查用户是否登录 if(isset($_SESSION['member'])) //跳转到首页 echo 'welcome to index'; else{ //跳转到登录页面 echo "<script>window.location.href='index.php/member/login/';</scrip

第三方App接入微信登录 解读(转)

转自http://blog.csdn.net/luoyan973387349/article/details/49815225 , 更多详细资料请参考原文 最近在做一个微信登录功能,发现腾讯的API文档写的实在是让人摸不着头脑,也没有搜到很详细的能让人参考的文章,借此把自己的一点儿使用心得与大家分享,欢迎指正其中的不足之处,谢谢! 准备工作 1.在微信开放平台https://open.weixin.qq.com/注册成为开发者. 2.在“管理中心”中创建一个移动应用,需“应用名称.简介.及28*

网站接入QQ登录

在网站接入QQ登录时遇到很多麻烦,主要是QQ互联和腾讯开放平台的关系比较乱,不知道要从哪个接入. 最终解决方式:在腾讯开放平台注册个人开发者,验证通过后,在QQ互联平台会有腾讯开放平台的注册信息,然后依次点击 个人中心->编辑->提交审核 审核完毕后应该就可以通过分配的ID信息接入了. (在最初QQ互联注册时,个人开发者总是需要提交营业执照,现在换了个qq号注册不需要了,可能是第一次QQ互联注册时JS没切过来的原因吧,应该是可以直接在QQ互联注册个人开发者的,不需要我这样绕路,(-?-;))