Laravel 開発: Laravel Passport を使用して APIOAuth2 認証を実装するにはどうすればよいですか?
Laravel は非常に人気のある PHP フレームワークであり、使いやすく、拡張性が高く、コードの可読性が高いです。 Laravelでは、OAuth2認証を実装するためのAPIパッケージであるLaravel Passportをはじめ、さまざまな機能を実装するためのアドオンパッケージ(Package)も多数提供されています。
OAuth2 は、認証プロセスを簡素化する一般的な認証フレームワークであり、Web アプリケーションやモバイル アプリケーションで広く使用されています。 OAuth2 を使用するには、トークンを生成し、クライアントが API を使用できるようにする認可サーバーを実装する必要があります。 Laravel Passport は、OAuth2 認証を実装する簡単な方法を提供します。
この記事では、Laravel Passportを使用してOAuth2認証を実装する方法を紹介します。開始する前に、Laravel フレームワークがすでにインストールされていることを前提としています。
Laravel Passport のインストール
Composer を使用して Laravel Passport をインストールできます。 Laravel アプリケーションのルート ディレクトリで次のコマンドを実行します:
composer require laravel/passport
インストールが完了したら、次のコマンドを実行して Laravel Passport に必要なテーブルを作成する必要があります:
php artisan migrate
次次のコマンドを実行して、Laravel Passport が暗号化キーを生成するために必要なテーブルを作成します。
php artisan passport:install
生成されたキーは、生成されたトークンの暗号化に使用されます。
パスポートの設定
インストールが完了したら、アプリケーションで Laravel Passport を構成する必要があります。必要な手順は次のとおりです:
パスポートを有効にする
Laravel Passport を有効にするには、まず Passport::routes() メソッドを呼び出す必要があります。このメソッドは、必要なルートを登録します。
//在bootstrap/app.php文件中加入下面这行代码 LaravelPassportPassport::routes();
自動トークン更新を有効にする
デフォルトでは、トークンは期限切れになると自動的に期限切れになります。トークンの有効期限が切れた後にトークンを自動的に更新したい場合は、AuthServiceProvider の Passport::refreshTokensExpireIn() メソッドを使用できます。次のコード スニペットを AuthServiceProvider に追加します。
//在AppProvidersAuthServiceProvider.php文件中加入下面这段代码 use LaravelPassportPassport; //其他代码... public function boot() { $this->registerPolicies(); Passport::routes(); Passport::tokensExpireIn(Carbon::now()->addDays(15)); Passport::refreshTokensExpireIn(Carbon::now()->addDays(30)); }
この例では、tokensExpireIn()
メソッドはトークンの有効期限を 15 日に設定し、refreshTokensExpireIn()
メソッドは、自動的に更新されるトークンの有効期限を 30 日に設定します。
User モデルでの Passport の使用
次に、User モデルで Laravel Passport 機能を有効にする必要があります。これは、User クラスの Passport::use() メソッドを使用することで実現できます。
//在app/User.php文件中加入下面这段代码 use LaravelPassportHasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; }
OAuth2 クライアントの作成
アプリケーションで OAuth2 認証を使用する場合は、次のように生成する必要があります。認可サーバー API トークン。認可サーバーと通信するには、クライアントを作成する必要があります。 passport:client
コマンドを実行してクライアントを作成できます:
php artisan passport:client --password
このコマンドを実行すると、アプリケーション名の入力を求めるプロンプトが表示されます。名前を入力しない場合は、では、デフォルト値を使用して Just take a car を返すことを選択できます。
操作が完了すると、client_id と client_secret が生成されます。 client_id と client_secret は、認可サーバーとの通信に使用されます。
API ルートの作成
OAuth2 クライアントを作成した後、認可サーバーが API にアクセスできるように API ルートを作成する必要があります。
//在routes/api.php文件中加入以下代码 Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
この例では、auth:api
ミドルウェアを使用して指定されたルートに OAuth2 認証が必要です。有効な API トークンが指定されていない場合、このルートは 401 Unauthorized HTTP 応答を返します。
認証のために HTTP リクエストを送信する
これで、API にリクエストを送信し、OAuth2 資格情報を使用して認証する準備が整いました。
Postman などのツールを使用して API をテストできますが、リクエストには有効な API トークンが含まれている必要があります。 Postman では、リクエストに Authorization ヘッダーを含めることができます。たとえば、
Authorization: Bearer [access_token]
access_token は、以前に生成されたトークンに置き換える必要があります。
概要
Laravel Passport は、多くのコードを記述することなく API 認証を簡単に実装できる、使いやすい OAuth2 サーバーです。この記事では、Laravel Passport を使用して OAuth2 認証を実装する手順を説明し、OAuth2 クライアントと API ルートを作成して HTTP リクエスト経由で認証する方法を示しました。アプリケーションで API 認証を使用する必要がある場合、Laravel Passport は理想的な選択肢の 1 つとなる可能性があります。
以上がLaravel 開発: Laravel Passport を使用して APIOAuth2 認証を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Taskmanagementtoolsareessentialforeffectiveremoteprojectmanagementbyprioritizingtasksandtrackingprogress.1)UsetoolslikeTrelloandAsanatosetprioritieswithlabelsortags.2)EmploytoolslikeJiraandMonday.comforvisualtrackingwithGanttchartsandprogressbars.3)K

laravel10EnhancesperformAnceTheveralkeyfeatures.1)ItintroduceSquerybuilderCachinucedatedatabaseload.2)itoptimizeseLoquentModelloadingwithlazingproxies.3)itimprovesRoutingWithineSystem.4)itemproveStingwithingingSystem.4)

最高のフルスタックのLaravelアプリケーション展開戦略には、1。Zeroダウンタイム展開、2。ブルーグリーン展開、3。連続展開、4。Canaryリリースが含まれます。 1.ゼロダウンタイムデプロイメントは、EnvoyまたはDeployerを使用して展開プロセスを自動化して、更新時にアプリケーションを利用できるようにします。 2。ブルーとグリーンの展開により、2つの環境を維持し、迅速なロールバックを可能にすることにより、ダウンタイムの展開が可能になります。 3.継続的な展開GithubactionsまたはGitlabci/CDを使用して、展開プロセス全体を自動化します。 4。nginx構成を通じてカナリーがリリースされ、パフォーマンスの最適化と迅速なロールバックを確保するために、新しいバージョンをユーザーに徐々に宣伝します。

ToscalealAravelApplicationively、Focusondatabasesharding、Caching、Loadbalancing、andMicroservices.1)databaseShardingTodistributedataacrossMultipledatabase.2)uselaraval'scachingsmultedistestemedisemememememememedtededatedatab

ToovercomcomcommunicationbarriersindistributedTeams、使用:1)VideoCallsForface-to-faceInteraction、2)setClearResponsetimeExpectations、3)ChooseaprateCommunicationSoools、4)CreateAmCommunicationGuide、and5)

laravelbladeEnhancesFrontendTemplatinginfull stackprojectsbyofferingcleansyntaxandpowerfulfeatures.1)itallows foreasyvariabledisplayandcontrolstructures.2)bladeSupportscreating andReusing components、

laravelisidealforfull-stackapplicationsduetoitseLegantyntax、包括的なセコスシステム、およびパワーフルフィーチュア

forRemotework、iusezoomforvideocalls、slackformessaging、trelloforprojectmanagement、andgithubforcodecollaboration.1)zoomisReliaible forlargemeetingsbuthefreeversion.2)slackintegrateswellwithtoolSotoolsotification -ortificationoverload.3)trel


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック









