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

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

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

Laravel開(kāi)發(fā):如何使用Laravel Socialite和Google實(shí)現(xiàn)第三方登錄?

在現(xiàn)代的Web應(yīng)用程序中,用戶(hù)的登錄和認(rèn)證是必不可少的。傳統(tǒng)的基于用戶(hù)名和密碼的身份驗(yàn)證方式已經(jīng)無(wú)法滿(mǎn)足其安全性和便利性的要求。第三方登錄解決了這個(gè)問(wèn)題,它允許用戶(hù)使用他們?cè)谄渌脚_(tái)上已經(jīng)創(chuàng)建的帳戶(hù)即可登錄您的應(yīng)用程序。

在這篇文章中,我們將介紹如何使用Laravel Socialite和Google實(shí)現(xiàn)第三方登錄。

什么是Laravel Socialite?

Laravel Socialite是Laravel社區(qū)中廣泛使用的OAuth認(rèn)證流程的封裝庫(kù)。它允許我們輕松地與多個(gè)第三方服務(wù)(例如Facebook,Twitter,Google等)建立連接。

Google開(kāi)發(fā)平臺(tái)設(shè)置

首先,我們需要在Google開(kāi)發(fā)平臺(tái)中創(chuàng)建OAuth客戶(hù)端 ID。打開(kāi) https://console.developers.google.com/ 并創(chuàng)建一個(gè)新項(xiàng)目。在左上角的“Select a Project”下拉菜單中,單擊“New Project”。

填寫(xiě)項(xiàng)目名稱(chēng)和其他項(xiàng)目設(shè)置信息。創(chuàng)建項(xiàng)目后,您會(huì)被重定向到項(xiàng)目的概述頁(yè)面。從頂部菜單中,選擇“API和服務(wù)”>“憑據(jù)”。

單擊“創(chuàng)建憑證”按鈕,并選擇“OAuth客戶(hù)端ID”。

在“應(yīng)用類(lèi)型”下拉菜單中,選擇“Web應(yīng)用程序”。為了實(shí)現(xiàn)Laravel Socialite和Google的集成,我們需要填寫(xiě)“授權(quán) JavaScript來(lái)源”和“重定向URI”字段。

在“授權(quán)JavaScript來(lái)源”字段中,輸入您的應(yīng)用程序的主機(jī)名,我們可以本地使用“http://localhost”的URL。在“重定向URI”字段中,輸入一個(gè)回調(diào)URL,用于從Google登錄后重定向回您的應(yīng)用程序。在本例中,我們將使用“http://localhost:8000/auth/google/callback”這個(gè)URL。

創(chuàng)建后,您將獲得一個(gè)客戶(hù)端ID和一個(gè)客戶(hù)端秘密。保存這些憑據(jù),我們稍后將在Laravel中使用它們。

Laravel Socialite安裝和配置

Laravel Socialite是一個(gè)Composer包,通過(guò)命令行安裝即可使用。我們使用以下命令安裝它:

composer require laravel/socialite

登錄后復(fù)制

安裝完成后,在Laravel配置文件中增加Socialite服務(wù)提供者:

'providers' => [
    // ...
    LaravelSocialiteSocialiteServiceProvider::class,
],

登錄后復(fù)制

還需添加以下配置信息到Laravel配置文件中:

'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_REDIRECT'),

登錄后復(fù)制

在這里我們使用了.env文件保存需要的配置信息:

GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT=http://localhost:8000/auth/google/callback

登錄后復(fù)制

Laravel Socialite集成

在這里,我們需要?jiǎng)?chuàng)建一個(gè)路由處理程序,它將處理與Google的OAuth流程。

Route::get('/auth/google', function () {
    return Socialite::driver('google')->redirect();
});

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

登錄后復(fù)制

第一個(gè)路由處理程序?qū)⒅囟ㄏ蛴脩?hù)到Google登錄流程。

在成功后,用戶(hù)將被重定向到第二個(gè)路由處理程序中。 此時(shí),我們可以使用user()方法獲取已登錄用戶(hù)的信息。 填寫(xiě)返回的用戶(hù)代碼,打印您獲取的用戶(hù)信息:

$user = Socialite::driver('google')->user();
dd($user);

登錄后復(fù)制

您會(huì)看到其他有關(guān)用戶(hù)的數(shù)據(jù),如用戶(hù)名,電子郵件地址,頭像,令牌等。在此信息的基礎(chǔ)上,我們可以實(shí)現(xiàn)第三方登錄了。

在這里,我們將使用上面獲取到的用戶(hù)信息來(lái)創(chuàng)建應(yīng)用程序用戶(hù)并進(jìn)行身份驗(yàn)證。

Route::get('/auth/google/callback', function () {
    $user = Socialite::driver('google')->user();
    // save application user
    $authUser = User::where('email', $user->email)->first();
    if ($authUser) {
        Auth::login($authUser, true);
        return redirect('/home');
    }
    // create application user
    $newUser = new User;
    $newUser->name = $user->name;
    $newUser->email = $user->email;
    $newUser->password = bcrypt(str_random(16));
    $newUser->save();
    Auth::login($newUser, true);
    return redirect('/home');
});

登錄后復(fù)制

在這里,我們首先使用Google返回的電子郵件地址查找現(xiàn)有應(yīng)用程序用戶(hù)。如果找到,則使用Laravel的身份驗(yàn)證API進(jìn)行登錄。如果找不到,則創(chuàng)建新用戶(hù)并使用Laravel的身份驗(yàn)證API進(jìn)行登錄。

結(jié)論

這篇文章介紹了如何使用Laravel Socialite和Google實(shí)現(xiàn)第三方登錄。

通過(guò)Google開(kāi)發(fā)平臺(tái)設(shè)置,我們生成了必要的OAuth憑據(jù)。 然后,我們使用了Laravel Socialite,用于省去OAuth流程中繁瑣的步驟和代碼。最后,我們使用用戶(hù)的現(xiàn)有電子郵件地址進(jìn)行身份驗(yàn)證并創(chuàng)建新用戶(hù)。

我們希望這篇文章能夠提供有關(guān)如何使用Laravel Socialite和Google實(shí)現(xiàn)第三方登錄的指導(dǎo),以及涵蓋OAuth流程的概述。

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

分享到:
標(biāo)簽:Google laravel Socialite
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

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

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

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

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

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

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定