微博第三方登录接口

有千峰视频微博第三方登录的截图(在另外一篇文章我单独发出来)

下面发我做出来的源码(sdk的两个类拆出来分别存放到extend文件里面),

还有

WB_AKEY,WB_SKEY,WB_CALLBACK_URL,这三个都要在extra里面单独建一个文件return你有的账号密码以及回调用地址
我的目录格式如下:
这个我调试的时候出了不少问题(一直刷新同一个页面),后来发现获取授权传回来的code是只能用一次的,同一个页面(我是在回调函数那里一直报错)一直刷新,还一直找不到exception的抛出异常的类,其实那个传回来的code是只能使用一次的,同一个code,在callback里面获取不了access_token的值(参数传过去微博那边认证会报错,因为是同一个),所以调试完再重新登录吧.....

<?php
namespace app\api\controller;
use think\Controller;
use think\Session;
use think\Request;
use sina\SaeTOAuthV2;
use sina\SaeTClientV2;

class sinalogin extends Controller
{
    private $wb_akey;
    private $wb_skey;
    private $wb_callback_url;

    public function __construct(){
        parent::__construct();
        $this->wb_akey = config('weibo.WB_AKEY');
        $this->wb_skey = config('weibo.WB_SKEY');
        $this->wb_callback_url = config('weibo.WB_CALLBACK_URL');
    }
    public function weibo()//给登录图标一个验证链接
    {
               print_r($this->wb_callback_url);exit();
          $o=new SaeTOAuthV2($this->wb_akey,$this->wb_skey);
          $code_url=$o->getAuthorizeURL( $this->wb_callback_url,$response_type = 'code',$display = 'popup');
//          $this->assign ('code_url', $code_url);
          return $this->redirect($code_url);
    }
  
    public function callback(){

       $o =new SaeTOAuthV2($this->wb_akey,$this->wb_skey);
       $key=array();
       $param=Request::instance()->param();
       //dump($param);检查是可以获取那些参数
       $keys['code']=$param['code'];
       $keys['redirect_uri']=$this->wb_callback_url;
       $token=$o->getAccessToken('code',$keys);

   //     $o=new SaeTClientV2($this->wb_akey,$this->wb_skey,Session::get('token')['access_token']);
   //     $uid_get=$o->get_uid();
    //    dump($uid_get);
    //    exit();
     //   $uid=$uid_get['uid'];//这些是我本来以为token里面没有uid,后来调用操作类去重新获取,没想到认证类已经把uid传在token里面了

       if($token){
          Session::set('token',$token);//放进session
            return $this->redirect('account/reginfo');//成功返回calllback
       }else{
          return $this->error('授权失败');
       }
    }


}

猜你喜欢

转载自blog.csdn.net/abc455050954/article/details/79228241