Laravel 三方登陸 - 微博

第一次寫,有錯(cuò)誤可以留言哦 [ 微笑 ] ,希望可以幫助有需要的人~~


首先說一下我使用Laravel的版本為5.5

1.準(zhǔn)備App Key,App Secret

使用之前首先要在微博開發(fā)平臺里創(chuàng)建一個(gè)網(wǎng)站應(yīng)用,這個(gè)應(yīng)用就會生成App Key,App Secret兩個(gè)值。后續(xù)在代碼中使用。

微博開發(fā)平臺地址:微博開發(fā)平臺

創(chuàng)建成功進(jìn)入應(yīng)用就是下面這個(gè)樣子:

image

基本信息中填寫信息。
在高級信息中還需要填寫項(xiàng)目的回調(diào)地址。


2.安裝

在window終端進(jìn)入項(xiàng)目的根目錄輸入以下命令:

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這個(gè)文件

image
   'SocialiteProviders\Manager\SocialiteWasCalled' => [

        'SocialiteProviders\Weibo\WeiboExtendSocialite@handle',

    ],

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

下面的內(nèi)容添加在 config/services.php 文件中:

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

下面的內(nèi)容添加到 .env 配置文件中:


WEIBO_KEY=                //微博平臺生成的

WEIBO_SECRET=           //微博平臺生成的

WEIBO_REDIRECT_URI=http://xxxxx/auth/callback        //重定向地址

7.添加路由

Route::get('weibo', 'Auth\AuthController@weibo');      //引導(dǎo)用戶到微博授權(quán)頁面

Route::get('auth/callback', 'Auth\AuthController@callback');       //新浪微博授權(quán)成功后的回調(diào)頁面

8.代碼實(shí)現(xiàn)

文件 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('/');

    }

最后:
如有錯(cuò)誤,還望指正。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容