Passport を使用した Laravel 認証のマスター: ステップバイステップガイド
認証は最新の Web アプリケーションの基礎です。 Laravel では、Passport が完全な OAuth2 サーバー実装を提供し、API 認証をシームレスに有効にします。このガイドでは、インストールから API の保護とテストまで、Laravel Passport をセットアップするプロセス全体を説明します。
はじめに
Laravelパスポートを使用する理由?
Laravel Passport は、OAuth2 認証を Laravel のエコシステムと緊密に統合することで、複雑な OAuth2 認証を簡素化します。パスポートを使用すると、次のことができます:
- API ユーザーを安全に認証します。
- モバイルおよび Web クライアント用の個人アクセス トークンを生成します。
- トークンの有効期限と失効を簡単に管理します。
前提条件
実際に始める前に、次のことを確認してください。
- Laravel の基本的な理解。
- Laravel プロジェクト (v10.x 以降を推奨) がインストールされ、データベースが構成されている。
- PHP 8.0 以降がインストールされている。
プロジェクトが設定されていない場合は、次のコマンドを使用してプロジェクトを作成します。
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
ステップ 1: Laravel Passport をインストールする
パッケージをインストールする
次のコマンドを実行して、Passport をプロジェクトに追加します:
composer require laravel/passport
パスポート ファイルの公開と移行
パスポートの移行と構成ファイルを公開します:
php artisan vendor:publish --tag=passport-migrations php artisan migrate
ステップ 2: Laravel パスポートを構成する
暗号化キーとクライアントのインストール
インストール コマンドを実行します:
php artisan passport:install
これにより、暗号化キーが生成され、データベース内に OAuth クライアントが作成されます。出力、特にクライアント ID とシークレットをメモします。
オプション: Personal Access Client を作成する
個人用アクセス クライアントを明示的に作成するには、次のコマンドを実行します。
php artisan passport:client --personal
ステップ 3: モデルを更新する
HasApiTokens トレイトをユーザー モデルに追加します。
use Laravel\Passport\HasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; // Other properties... }
ステップ 4: 認証構成を更新する
config/auth.php で API ガードのドライバーとして Passport を構成します:
'guards' => [ 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],
ステップ 5: パスポートのルートを登録する
AppProvidersAppServiceProvider で、Passport のルートを読み込みます:
use Laravel\Passport\Passport; public function boot(): void { Passport::routes(); Passport::tokensExpireIn(now()->addDays(15)); Passport::refreshTokensExpireIn(now()->addDays(30)); Passport::personalAccessTokensExpireIn(now()->addMonths(6)); }
ステップ 6: 認証 API エンドポイントを構築する
ルートの追加
routes/api.php で API ルートを定義します:
use App\Http\Controllers\AuthController; Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']); Route::middleware('auth:api')->get('/user', [AuthController::class, 'user']);
認証コントローラーを作成する
認証方法の実装:
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
ステップ 7: 暗号化キーの権限を設定する
パスポート キーへの安全なアクセスを確保します:
composer require laravel/passport
権限を確認します:
php artisan vendor:publish --tag=passport-migrations php artisan migrate
期待される出力:
php artisan passport:install
ステップ 8: API をテストする
Postman または任意の API クライアントを使用してエンドポイントをテストします:
- 登録: 名前、電子メール、パスワードを指定して POST リクエストを /register に送信します。
- ログイン: 電子メールとパスワードを使用して POST リクエストを /login に送信します。
- ユーザー データの取得: Authorization ヘッダーのトークンを使用して GET リクエストを /user に送信します。
ベストプラクティス
- 本番環境では HTTPS を使用します。
- 暗号化キーを定期的にローテーションします。
- 入力を徹底的に検証します。
- セキュリティを向上させるためにトークンのスコープを制限します。
結論
おめでとうございます! Laravel Passport を使用して API 認証を実装することができました。この設定は、API を保護するための堅牢な基盤を提供します。スコープ、トークン取り消し、クライアント認証情報などの高度な Passport 機能を探索して、アプリケーションのセキュリティをさらに強化します。
以上がパスポートを使用したLaravel認証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



