


Laravel 開発: Laravel Socialite と Google を使用してサードパーティ ログインを実装するにはどうすればよいですか?
Laravel 開発: Laravel Socialite と Google を使用してサードパーティ ログインを実装するにはどうすればよいですか?
最新の Web アプリケーションでは、ユーザーのログインと認証が不可欠です。ユーザー名とパスワードに基づく従来の認証方法では、セキュリティと利便性の要件を満たすことができなくなりました。サードパーティ ログインは、ユーザーが他のプラットフォームですでに作成したアカウントを使用してアプリケーションにログインできるようにすることで、この問題を解決します。
この記事では、Laravel SocialiteとGoogleを使ったサードパーティログインの実装方法を紹介します。
Laravel ソーシャライトとは何ですか?
Laravel Socialite は、Laravel コミュニティで広く使用されている OAuth 認証プロセスのパッケージ化ライブラリです。これにより、Facebook、Twitter、Google などの複数のサードパーティ サービスに簡単に接続できるようになります。
Google 開発プラットフォームの設定
まず、Google 開発プラットフォームで OAuth クライアント ID を作成する必要があります。 https://console.developers.google.com/ を開いて、新しいプロジェクトを作成します。左上隅にある [プロジェクトの選択] ドロップダウン メニューで、[新しいプロジェクト] をクリックします。
プロジェクト名とその他のプロジェクト設定情報を入力します。プロジェクトを作成すると、プロジェクトの概要ページにリダイレクトされます。上部のメニューから、「API とサービス」>「認証情報」を選択します。
[認証情報の作成] ボタンをクリックし、[OAuth クライアント ID] を選択します。
[アプリケーション タイプ] ドロップダウン メニューで、[Web アプリケーション] を選択します。 Laravel Socialite を Google と統合するには、「承認された JavaScript ソース」フィールドと「リダイレクト URI」フィールドに入力する必要があります。
「承認された JavaScript ソース」フィールドにアプリケーションのホスト名を入力します。「http://localhost」の URL をローカルで使用できます。 [リダイレクト URI] フィールドに、Google からログインした後にアプリケーションにリダイレクトするコールバック URL を入力します。この例では、URL「http://localhost:8000/auth/google/callback」を使用します。
作成後、クライアント ID とクライアント シークレットが与えられます。これらの資格情報を保存します。後で Laravel で使用します。
Laravel Socialite のインストールと構成
Laravel Socialite は、コマンドラインインストールを通じて使用できる Composer パッケージです。次のコマンドを使用してインストールします。
composer require laravel/socialite
インストールが完了したら、Socialite サービス プロバイダーを Laravel 構成ファイルに追加します。
'providers' => [ // ... LaravelSocialiteSocialiteServiceProvider::class, ],
次の構成情報も追加する必要があります。 Laravel 設定ファイル:
'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'redirect' => env('GOOGLE_REDIRECT'),
ここでは、.env
ファイルを使用して必要な設定情報を保存します:
GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret GOOGLE_REDIRECT=http://localhost:8000/auth/google/callback
Laravel Socialite 統合
ここでは、 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); });
最初のルート ハンドラーは、ユーザーを Google ログイン フローにリダイレクトします。
成功すると、ユーザーは 2 番目のルート ハンドラーにリダイレクトされます。このとき、user()
メソッドを使用して、ログインしているユーザーの情報を取得できます。返されたユーザー コードを入力し、取得したユーザー情報を出力します。
$user = Socialite::driver('google')->user(); dd($user);
ユーザー名、電子メール アドレス、アバター、トークンなど、ユーザーに関するその他のデータが表示されます。この情報に基づいて、サードパーティのログインを実装できます。
ここでは、上記で取得したユーザー情報を使用して、アプリケーション ユーザーを作成し、認証します。
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'); });
ここでは、Google から返されたメール アドレスを使用して既存のアプリ ユーザーを検索することから始めます。見つかった場合は、Laravel の認証 API を使用してログインします。見つからない場合は、新しいユーザーを作成し、Laravel の認証 API を使用してログインします。
結論
この記事では、Laravel Socialite と Google を使用してサードパーティ ログインを実装する方法を紹介します。
Google 開発プラットフォームの設定を通じて、必要な OAuth 認証情報を生成しました。次に、Laravel Socialite を使用して、OAuth プロセスの面倒な手順とコードを排除しました。最後に、ユーザーの既存の電子メール アドレスを使用して新しいユーザーを認証し、作成します。
この記事が、OAuth プロセスの概要をカバーするだけでなく、Laravel Socialite と Google を使用してサードパーティ ログインを実装する方法に関するガイダンスを提供することを願っています。
以上がLaravel 開発: Laravel Socialite と Google を使用してサードパーティ ログインを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Google は、Pixel 8 シリーズで DisplayPort 代替モードを導入しており、新たに発売された Pixel 9 ラインナップにも搭載されています。これは主に、接続された画面でスマートフォンのディスプレイをミラーリングするためにありますが、デスクトップにも使用できます。

Google の AI Test Kitchen には、ユーザーが遊べる一連の AI 設計ツールが含まれており、現在、世界 100 か国をはるかに超える国のユーザーに公開されています。この動きにより、世界中の多くの人が Imagen 3、Google を使用できるようになるのは初めてです。

Pixel 9 Pro Fold は、Google の初期の折りたたみ部門の volte-face に似ています。実際、Pixel 9 Pro Fold と Pixel Fold には大きな違いがあり、前者は OnePlus Open (現在の価格 1,399.99 ドル) と比べられています。

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

GoogleはAlphabet Inc.が所有しています。これは、Larry PageとSergey Bringによって管理されています。 2)AlphabetのクラスAとクラスCの株式は、それぞれ公開市場と従業員の株式所有計画で配布されますが、創業者の管理には影響しません。
