第三方登录之新浪微博登录

参考文档:http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5

一、配置相关信息

  • 列表内容

 相关 api

  • 这里写图片描述

 设置回调页

  • 这里写图片描述

二、参考代码

路由代码:

Route::get('test','home\ApiController@index');

Route::get('ok',function(){
    echo "<a href='https://api.weibo.com/oauth2/authorize?client_id=AppKey&redirect_uri=回调url&response_type=code'>微博登录</a>";

});

ApiController 代码:

<?php namespace App\Http\Controllers\home;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class ApiController extends Controller {
    public function index(Request $req){
        //拼接需要的参数
        $code=$req->only('code');
        $api='https://api.weibo.com/oauth2/access_token';
        $param=array();
        $param['client_id']='AppKey';
        $param['client_secret']='AppSecret';
        $param['code']=$code['code'];
        $param['redirect_uri']='http://weixin1.tunnel.2bdata.com/test';
        //获取 access_token
        $rs=$this->curl($api,$param);
        $access_token=$rs['access_token'];
        //获取用户 uid
        $api='https://api.weibo.com/oauth2/get_token_info';
        $param=array('access_token'=>$access_token);
        $rs=$this->curl($api,$param);
        $api='https://api.weibo.com/2/users/show.json';
        $param=array(
            'access_token'=>$access_token,
            'uid'=>$rs['uid'],
        );
        $url=$api.'?'.http_build_query($param);
        $url_res=file_get_contents($url);
        print_r($url_res);
    }
    public function curl($api,$param){
        $ch=curl_init($api);
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($param));
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
        $rs=curl_exec($ch);
        curl_close($ch);
        return json_decode($rs,true);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值