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アカウントを使ったログイン認証機能を追加することができます。