ホームページ > PHPフレームワーク > Laravel > Laravel 開発: Laravel Socialite を使用してソーシャル ログインを実装するにはどうすればよいですか?

Laravel 開発: Laravel Socialite を使用してソーシャル ログインを実装するにはどうすればよいですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-06-13 22:09:17
オリジナル
1295 人が閲覧しました

今日のますます発展するソーシャル ネットワーク時代において、ソーシャル ログインはますます多くの Web サイトの標準機能となっています。これにより、ユーザーが迅速にログインできるようになるだけでなく、Web サイトのユーザー トラフィックと社会的交流の増加にも役立ちます。ソーシャル ログインを自分で実装するのは難しくありませんが、既製のソーシャル ログイン コンポーネントを使用すると時間と労力を節約できます。 PHP 開発では、使いやすいソーシャル ログイン コンポーネントである Laravel Socialite を使用してソーシャル ログインを実装する方法を見てみましょう。

1. Laravel Socialite のインストール

まず、次のコマンドを使用して、Laravel アプリケーションに Socialite パッケージをインストールする必要があります:

composer require laravel/socialite

インストールが完了したら、config/app.php ファイルに Socialite サービス プロバイダーを追加します。

'providers' => [
    // Other service providers...

    LaravelSocialiteSocialiteServiceProvider::class,
]
ログイン後にコピー

次に、config/app .php ファイル Socialite ファサード エイリアスを追加します:

'aliases' => [
    // Other aliases...

    'Socialite' => LaravelSocialiteFacadesSocialite::class,
]
ログイン後にコピー

この方法で、Socialite コンポーネントが正常にインストールされました。

2. ソーシャル ログイン アプリケーションを作成する

Socialite はさまざまなソーシャル ログイン アプリケーションをサポートできるため、アプリケーションごとにアプリケーションを作成する必要があります。以下では、例として GitHub を使用して、GitHub 上で新しい OAuth アプリケーションを作成する方法を示します。

  1. まず、GitHub アカウントにログインし、アバター ドロップダウン メニューで [設定] -> [開発者設定] -> [OAuth アプリ] を選択して、[OAuth アプリ] ページに入ります。

  1. [新しい OAuth アプリ] ボタンをクリックし、次の情報を入力します:
  • アプリケーション名: アプリケーション名;
  • ホームページ URL: アプリケーションのホームページの URL;
  • 認可コールバック URL: ソーシャル ログイン認証が成功した後のコールバック URL。

入力が完了したら、「アプリケーションを登録」ボタンをクリックしてください。

  1. アプリケーションの生成プログラムのクライアント ID とクライアント シークレット。

3.ソーシャル ログインの実装

  1. まず、アプリケーションのログイン ページにソーシャル ログイン ボタンを追加し、Socialite の GitHub 認証サービスにリンクします。
<a href="{{ url('/auth/github') }}">使用GitHub登录</a>
ログイン後にコピー
  1. GitHub ログイン ルートの作成ララベルで。 routes/web.php ファイルを開き、次のルート定義を追加します。
Route::get('auth/github', 'AuthLoginController@redirectToProvider');
Route::get('auth/github/callback', 'AuthLoginController@handleProviderCallback');
ログイン後にコピー

ここでは、redirectToProvider# 経由でユーザーを GitHub 認証サービスにリダイレクトするように求められます。 ## そしてそこでログイン認証を完了します。認証が成功すると、GitHub 認証サービスは指定されたコールバック URL auth/github/callback にリダイレクトし、認証に成功したユーザー情報をこの URL 経由でセッションに渡します。

  1. redirectToProvider 関数を構築します。 app/Http/Controllers/Auth/LoginController.php ファイルを開き、次の実装を追加します:
  2. namespace AppHttpControllersAuth;
    
    use IlluminateHttpRequest;
    use AppHttpControllersController;
    use Socialite;
    
    class LoginController extends Controller
    {
        // ...
        public function redirectToProvider()
        {
            return Socialite::driver('github')->redirect();
        }
        // ...
    }
    ログイン後にコピー

Socialite ドライバーで を呼び出します。 () メソッドを使用して GitHub 認証ドライバーのインスタンスを取得し、redirect() メソッドを使用してユーザーをログイン認証サービスにリダイレクトします。

    次に、認証が成功した後のコールバックを
  1. handleProviderCallback メソッドで処理します。 app/Http/Controllers/Auth/LoginController.php ファイルを開き、次のメソッドを追加します。
  2. // ...
    public function handleProviderCallback()
    {
        try {
            $user = Socialite::driver('github')->user();
        } catch (Exception $e) {
            return redirect('/login');
        }
    
        // 验证用户信息并完成登录,代码省略
        // ...
    }
    // ...
    ログイン後にコピー

    Socialiteuser を使用します。 () メソッドは、GitHub 認証サービスから返されたユーザー情報を取得します。認証プロセス中にエラーが発生した場合、ユーザーはアプリケーションのログイン ページにリダイレクトされます。認証が成功すると、$user オブジェクト内の情報を使用してユーザーを認証し、ログイン操作を完了できます。

    4. 概要

    この時点で、Laravel Socialite を使用して GitHub ソーシャル ログインを実装するプロセスが完了しました。簡単な構成といくつかの必要なコードを通じて、複数のソーシャル ログイン メソッドを簡単に実装でき、実際のプロジェクトでの使用が推奨されるいくつかの小さいながらも便利な機能をアプリケーションに追加できます。

    以上がLaravel 開発: Laravel Socialite を使用してソーシャル ログインを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート