日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在當(dāng)今互聯(lián)網(wǎng)時代,用戶的登錄已經(jīng)成為了絕大部分Web應(yīng)用必須要考慮的事情。這也意味著Web應(yīng)用需要為用戶提供可選擇的多重登錄方式,來降低用戶的登錄困難度和優(yōu)化用戶體驗。

作為當(dāng)前最受歡迎的PHP框架之一,Laravel提供了一些非常方便的方式來實現(xiàn)用戶的身份驗證,其中Laravel Socialite是一個非常強(qiáng)大的用戶身份驗證解決方案,它允許應(yīng)用使用第三方平臺作為身份驗證提供者。

在本文中,我們將介紹如何使用Laravel Socialite來實現(xiàn)Github登錄的功能。下面我們來逐步實現(xiàn)這個目標(biāo)。

步驟1:創(chuàng)建Github應(yīng)用

在開始本文之前,首先需要注冊和創(chuàng)建一個Github賬號,并且在Github中創(chuàng)建一個OAuth應(yīng)用程序。創(chuàng)建應(yīng)用的過程相對簡單,只需遵循以下幾個步驟:

    登陸Github賬號,在 Github Settings -> Developer settings -> OAuth Apps頁面中創(chuàng)建新的OAuth App

    在第一部分填寫App名稱、Homepage URL和Callback URL

    Callback URL 即登陸成功后返回的Website地址,需要在Laravel網(wǎng)站后臺定義

    提交表單后返回的頁面中會顯示Github應(yīng)用程序的client_id和client_secret。client_id 將用于配置Laravel Socialite的Github驅(qū)動程序。

步驟2:安裝 Laravel Socialite

安裝 Laravel Socialite 可以通過Composer輕松完成。只需在項目目錄下的命令行中輸入以下指令即可:

composer require laravel/socialite

登錄后復(fù)制

步驟3:配置服務(wù)提供者和 Facade 引用

打開 config/app.php 配置文件,找到 providers 數(shù)組和 aliases 數(shù)組,將 Socialite 服務(wù)提供者和 Facade 引用添加到對應(yīng)的數(shù)組中。

'providers' => [
    // Other service providers...

    LaravelSocialiteSocialiteServiceProvider::class,
],

'aliases' => [
    // Other aliases...

    'Socialite' => LaravelSocialiteFacadesSocialite::class,
],

登錄后復(fù)制

步驟4:定義Github驅(qū)動配置

在 config/services.php 配置文件中添加以下配置:

'github' => [
    'client_id' => env('GITHUB_CLIENT_ID'),
    'client_secret' => env('GITHUB_CLIENT_SECRET'),
    'redirect' => env('GITHUB_REDIRECT'),
],

登錄后復(fù)制

步驟5:定義Github登錄鏈接

打開登錄頁面的 blade 模板文件,添加以下代碼:

<a href="{{ url('auth/github') }}" class="btn btn-github"><i class="fa fa-github"></i> Github 登錄</a>

登錄后復(fù)制

這將創(chuàng)建一個鏈接,通過訪問 /auth/github,將會跳轉(zhuǎn)到Github的登錄頁面。

步驟6:定義Github回調(diào)函數(shù)

打開我們在Github中注冊時的 Callback URL 頁面并獲取鏈接中的code參數(shù),并在Laravel路由中添加以下代碼:

Route::get('auth/github/callback', function () {
    $user = Socialite::driver('github')->user();

    // 如果在本地沒有找到該用戶,則創(chuàng)建新用戶
    $existingUser = User::where('email', $user->getEmail())->first();
    if ($existingUser) {
        auth()->login($existingUser, true);
    } else {
        $newUser                  = new User;
        $newUser->name            = $user->getNickname();
        $newUser->email           = $user->getEmail();
        $newUser->github_id       = $user->getId();
        $newUser->avatar          = $user->getAvatar();
        $newUser->provider        = 'github';
        $newUser->save();
        auth()->login($newUser, true);
    }

    return redirect()->to('/home');
});

登錄后復(fù)制

這里需要注意的是,我們需要將github_id保存在數(shù)據(jù)庫中以便需要時進(jìn)行登錄驗證,同時也保存了用戶昵稱和頭像方便展示。

步驟7:創(chuàng)建.env文件

打開項目根目錄下的 .env 文件,添加以下 Github 相關(guān)配置:

GITHUB_CLIENT_ID=your-github-client-id-here
GITHUB_CLIENT_SECRET=your-github-client-secret-here
GITHUB_REDIRECT=http://localhost:8000/auth/github/callback

登錄后復(fù)制

上述配置中,你需要將 your-github-client-id-hereyour-github-client-secret-here 替換為你自己在Github獲取到的client_id和client_secret。GITHUB_REDIRECT的值應(yīng)該是Github上注冊應(yīng)用程序時的重定向URI參數(shù)。

好了,現(xiàn)在你可以嘗試用 Github 登錄來測試你的應(yīng)用程序了。當(dāng)你訪問 /auth/github 時,你應(yīng)該被重定向到 Github 的登錄頁面。輸入你的 Github 賬號后,你應(yīng)該會被重定向回到你通過 Callback URI 指定的地址。

使用 Laravel Socialite 確實是實現(xiàn)身份驗證的一種快速、簡便的方法,它還支持其他很多賬號認(rèn)證服務(wù)提供商,如Facebook、Twitter、Google等等。舒適且高效的第三方登錄方式能夠極大地提升用戶的體驗,為Web應(yīng)用添加多重登錄方式也逐漸成為了一種必要。相比起自己獨立實現(xiàn)一套認(rèn)證系統(tǒng),使用 Laravel Socialite 則可以利用現(xiàn)有的優(yōu)秀的認(rèn)證服務(wù)提供商來簡化身份驗證方案的實現(xiàn)。

以上就是Laravel開發(fā):如何使用Laravel Socialite實現(xiàn)Github登錄?的詳細(xì)內(nèi)容,更多請關(guān)注www.xfxf.net其它相關(guān)文章!

分享到:
標(biāo)簽:GitHub laravel Socialite
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定