美文网首页
Laravel 三方登陆 - 微博

Laravel 三方登陆 - 微博

作者: 小马儿_ | 来源:发表于2019-01-20 16:36 被阅读0次

    第一次写,有错误可以留言哦 [ 微笑 ] ,希望可以帮助有需要的人~~


    首先说一下我使用Laravel的版本为5.5

    1.准备App Key,App Secret

    使用之前首先要在微博开发平台里创建一个网站应用,这个应用就会生成App Key,App Secret两个值。后续在代码中使用。

    微博开发平台地址:微博开发平台

    创建成功进入应用就是下面这个样子:

    image

    基本信息中填写信息。
    在高级信息中还需要填写项目的回调地址。


    2.安装

    在window终端进入项目的根目录输入以下命令:

    composer require socialiteproviders/weibo

    (下载后一般路径都在 vendor/socialiteproviders/ )


    3.添加 Service Provider

    文件 config/app.php

    如果之前添加过Socialite Provider需要先注释掉

    然后添加图中那句:

    SocialiteProviders\Manager\ServiceProvider::class,

    image

    4. 添加 Facades Aliase

    还是文件 config/app.php

    添加:SocialiteProviders\Manager\ServiceProvider::class,

    image

    5.添加事件处理

    在 app/Providers/EventServiceProvider.php这个文件

    image
       'SocialiteProviders\Manager\SocialiteWasCalled' => [
    
            'SocialiteProviders\Weibo\WeiboExtendSocialite@handle',
    
        ],
    

    6. 配置文件 config/services.php 和 .env

    下面的内容添加在 config/services.php 文件中:

    // 微博
        'weibo' => [
            'client_id' => env('WEIBO_KEY'),
            'client_secret' => env('WEIBO_SECRET'),
            'redirect' => env('WEIBO_REDIRECT_URI'),  
        ],
    

    下面的内容添加到 .env 配置文件中:

    
    WEIBO_KEY=                //微博平台生成的
    
    WEIBO_SECRET=           //微博平台生成的
    
    WEIBO_REDIRECT_URI=http://xxxxx/auth/callback        //重定向地址
    
    

    7.添加路由

    Route::get('weibo', 'Auth\AuthController@weibo');      //引导用户到微博授权页面
    
    Route::get('auth/callback', 'Auth\AuthController@callback');       //新浪微博授权成功后的回调页面
    

    8.代码实现

    文件 app/Http/Controllers/Auth/AuthController.php

        public function weibo() {
    
            return \Socialite::with('weibo')->redirect();
    
            // return \Socialite::with('weibo')->scopes(array('email'))->redirect();
    
        }
    
        public function callback(Request $request) {
    
            $oauthUser = \Socialite::with('weibo')->user();
    
            var_dump($oauthUser->getId());
            var_dump($oauthUser->getNickname());
            var_dump($oauthUser->getName());
            var_dump($oauthUser->getEmail());
            var_dump($oauthUser->getAvatar());
    
            return redirect('/');
    
        }
    
    

    最后:
    如有错误,还望指正。

    相关文章

      网友评论

          本文标题:Laravel 三方登陆 - 微博

          本文链接:https://www.haomeiwen.com/subject/xuwxjqtx.html