laravel9でログイン認証にgoogleアカウントを使えるようにする

Laravel 9では、Googleアカウントを使ってログイン認証を実装するために、Laravel Socialiteというパッケージを使用することができます。以下は、Laravel Socialiteを使用してGoogleアカウントを使ったログイン認証を実装する手順です。

1.LaravelプロジェクトにSocialiteをインストールする

composer require laravel/socialite

2.Google API ConsoleでOAuth2認証情報を取得する

Google API Consoleにアクセスし、OAuth2認証情報を作成します。作成する認証情報は、OAuthクライアントIDとOAuthクライアントシークレットです。作成が完了したら、承認済みリダイレクトURIに/auth/google/callbackを追加します。

3.LaravelでGoogle認証を設定する

config/services.phpファイルに以下のように設定を追加します。

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

4.Googleログインボタンを作成する

ログイン画面にGoogleログインボタンを追加します。

<a href="{{ url('auth/google') }}" class="btn btn-primary">Googleでログイン</a>

5.コントローラーでGoogle認証を処理する

AuthControllerなどのコントローラーに以下のように処理を追加します。

use Illuminate\Http\Request;
use Laravel\Socialite\Facades\Socialite;

class AuthController extends Controller
{
    public function redirectToProvider()
    {
        return Socialite::driver('google')->redirect();
    }

    public function handleProviderCallback(Request $request)
    {
        $user = Socialite::driver('google')->user();

        // ユーザー情報をもとにログイン処理を実装する
    }
}

6.ルートを設定する

routes/web.phpファイルに以下のようにルートを設定します。

Route::get('auth/google', 'AuthController@redirectToProvider');
Route::get('auth/google/callback', 'AuthController@handleProviderCallback');

これで、Googleアカウントを使ったログイン認証が実装されました。以上の手順に従って実装することで、Laravel 9アプリケーションにGoogleアカウントを使ったログイン認証機能を追加することができます。

シェアする

上にスクロール