最新の Web アプリケーションでは、ユーザーがソーシャル メディア アカウントを使用して Web サイトにすばやく簡単にログインできるようにする傾向が見られます。独自の認証システムを実装することもできますが、サードパーティの認証システムを使用すると、アプリケーションがより柔軟で使いやすくなります。
この記事では、Laravel Socialite と Github を使用してサードパーティ ログインを実装する方法を検討します。 Laravel Socialite は、ソーシャル メディア認証を Laravel アプリケーションに簡単に統合できるようにする Laravel 拡張機能です。 Github は人気のある Git リポジトリ ホスティング サービスであり、サードパーティの認証サービスも提供します。
始める前に、Laravel と Composer がインストールされていることを確認してください。
まず、Laravel Socialite をインストールする必要があります。ターミナルで次のコマンドを実行します:
composer require laravel/socialite
このコマンドは、Laravel Socialite プラグインをダウンロードしてインストールします。
Github にログインする前に、Github のサードパーティ認証サービスを使用できるように、まず Github アプリを作成する必要があります。
このリンクにアクセスして Github アカウントにログインします: https://github.com/settings/developers
次に、[新しい OAuth アプリ] ボタンをクリックしてフォームに記入します。 「ホームページ URL」にホームページ URL を入力し、「認証コールバック URL」にコールバック URL を入力します。このステップの目的は、アプリケーションを Github に接続することです。
次に、作成した Github アプリと通信できるように Laravel Socialite を構成する必要があります。
3.1 Github ドライバーの追加
config/services.php
ファイルを開き、次の構成を追加します。
'github' => [ 'client_id' => env('GITHUB_CLIENT_ID'), 'client_secret' => env('GITHUB_CLIENT_SECRET'), 'redirect' => 'http://your-domain.com/auth/github/callback', ],
これにより、「」というファイルが作成されます。 github 」ドライバーを開き、クライアント ID、クライアント シークレット、およびコールバック URL を構成します。 「your-domain.com」をホームページの URL に置き換えてください。
3.2 .env ファイルの更新
.env
ファイルを開き、次の構成を追加します:
GITHUB_CLIENT_ID=your-client-id GITHUB_CLIENT_SECRET=your-client-secret GITHUB_REDIRECT_URI=http://your-domain.com/auth/github/callback
your-client- を置き換えてください。 id
、your-client-secret
、および your-domain.com
は、Github アプリのクライアント ID、クライアント シークレット、ホームページ URL です。
これで、Github ログインの実装を開始できます。まず、Github ログイン ルートを作成する必要があります:
Route::get('auth/github', '[GithubController@login'); Route::get('auth/github/callback', '[GithubController@callback']);
次に、GithubController
コントローラー クラスを作成し、login
と callback# を実装する必要があります。 it ## メソッド:
namespace AppHttpControllers; use IlluminateHttpRequest; use LaravelSocialiteFacadesSocialite; class GithubController extends Controller { public function login() { return Socialite::driver('github')->redirect(); } public function callback(Request $request) { $user = Socialite::driver('github')->user(); // do something with user data } }
login メソッドでは、
Socialite ファサードを使用して
driver メソッドを呼び出し、 Github ドライバーを使用し、
redirect メソッドを使用して、Github ログイン ページにジャンプする URL を生成します。
callback メソッドでは、まず
Socialite ファサードを使用して
driver メソッドを呼び出し、Github ユーザー情報を取得してから、次の処理を実行します。何らかの論理処理。たとえば、ユーザーが初めてログインする場合、そのユーザーをユーザー テーブルに追加するか、既存のユーザーに関連付けることができます。
callback メソッドの最後に追加します。
return view('welcome');
以上がLaravel 開発: Laravel Socialite と Github を使用してサードパーティ ログインを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。