Laravel 開発: Laravel Passport を使用して OAuth2 認証を実装するにはどうすればよいですか?
Laravel は、効率的でスケーラブルで保守しやすい Web アプリケーションを簡単に構築できる人気の PHP Web 開発フレームワークです。 Laravelには、Laravel Passportを含む多くの機能とコンポーネントがあります。 Laravel Passport は、開発者が安全な認証をアプリケーションに簡単に追加できるようにする完全な OAuth2 サーバー実装です。
OAuth2 は API を保護するための認証標準であり、サードパーティ アプリケーションが API を介してユーザー データにアクセスできるようにする安全な方法です。これは、Facebook、Google、GitHub、Twitter など、多くの企業や組織で使用されているオープン スタンダードです。 Laravel Passport は、Laravel フレームワークの公式 OAuth2 サーバー実装です。
以下では、Laravel Passportを使用してOAuth2認証を実装する方法を説明します。
ステップ 1: Laravel Passport をインストールする
Composer を使用して Laravel Passport をインストールします。コマンド ラインで次のコマンドを入力します:
composer require laravel/passport
インストールが完了したら、次のコマンドを実行して Passport の構成ファイルとデータベースの移行を公開します:
php artisan passport:install
このコマンドは暗号化キーを次のように作成します。アクセス トークンのデータベース テーブルも同様です。
ステップ 2: パスポートを設定する
Laravel アプリケーションでパスポートを有効にします。 config/app.php
ファイルを編集し、LaravelPassportPassportServiceProvider::class,
を Provide 配列に追加します。
#LaravelPassportHasApiTokens トレイトを
AppUser モデルに実装します。このトレイトは、API ユーザーに関連するいくつかのメソッドをユーザー モデルに追加します。
php artisan migrate
php Artisan Passport:client コマンドを使用します。このコマンドはクライアント ID とクライアント シークレットを生成します。これらは API で使用できるように適切に保存する必要があります。
php artisan passport:client --client
routes/api.php ファイルで定義します。 Passport には、リクエストに有効なアクセス トークンが含まれているかどうかを確認するための
auth:api というミドルウェアが含まれています。保護されたルートを保護するには、必ずこのミドルウェアを使用してください。
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
POST /oauth/token HTTP/1.1 Host: your-app.com Content-Type: application/x-www-form-urlencoded grant_type=password& client_id=client-id& client_secret=client-secret& username=user@your-app.com& password=user-password&
{ "token_type": "Bearer", "expires_in": 31536000, "access_token": "eyJ0eXAiOiJKV1QiLCJ...", "refresh_token": "def5020086062f..." }
GET /api/user HTTP/1.1 Host: your-app.com Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ...
以上がLaravel 開発: Laravel Passport を使用して OAuth2 認証を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。