Lumen Passport による PHP セキュリティ検証
Web アプリケーションを開発する場合、ユーザー認証と権限制御は無視できない重要な要素です。アプリケーションのセキュリティを確保するには、ユーザーを認証し、特定のユーザーに異なる権限を付与するメソッドを実装する必要があります。 PHP 開発において、Lumen は軽量で効率的なフレームワークであり、Web アプリケーションを迅速に構築するのに役立ちます。 Lumen Passport は、Laravel Passport をベースにした Lumen 拡張機能で、シンプルかつ強力な認証の実装に役立ちます。
この記事では、アプリケーションが許可されたユーザーのみにアクセスを許可するように、Lumen Passport を介して PHP セキュリティ検証を実装する方法を紹介します。
まず、Lumen Passport 拡張パッケージをインストールする必要があります。ターミナルでプロジェクトのルート ディレクトリを入力し、次のコマンドを実行します。
composer require dusterio/lumen-passport
インストールが完了したら、Passport サービス プロバイダーを登録する必要があります。 bootstrap/app.php
ファイルを開き、Register Service Providers
セクションに次のコードを追加します。
$app->register(DusterioLumenPassportPassportServiceProvider::class);
次に、bootstrap/app.php
次の参照を先頭に追加します。
use DusterioLumenPassportLumenPassport;
次に、キーとデータベース移行ファイルを生成する必要があります。ターミナルで次のコマンドを実行します。
php artisan passport:keys php artisan passport:client --password php artisan migrate
キーとデータベース移行ファイルを生成した後、認証の構成を開始できます。
まず、config/auth.php
ファイルを開き、デフォルトのドライバーを token
から passport
に変更します:
'defaults' => [ 'guard' => 'api', 'passwords' => 'users', 'provider' => 'users', 'hash' => false, ], // ... 'guards' => [ 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],
次に、app/Providers/AuthServiceProvider.php
ファイルを開き、LaravelPassportPassport::routes()
メソッドを boot()
メソッドに追加します。
use LaravelPassportPassport; // ... public function boot() { $this->registerPolicies(); Passport::routes(); }
次に、ユーザー モデルで Passport
を使用する必要があります。 app/User.php
ファイルを開き、クラスの先頭に次の参照を追加します。
use LaravelPassportHasApiTokens;
次に、HasApiTokens
トレイトを に追加します。 User
class Medium:
use LaravelPassportHasApiTokens; class User extends Authenticatable { use HasApiTokens; // ... }
これで、認証の設定が完了しました。次に、コントローラーで Lumen Passport を使用する方法を見てみましょう。
まず、コントローラーで Passport
を使用する必要があります。コントローラー ファイルを開き、クラスの先頭に次の参照を追加します。
use LaravelPassportPassport;
次に、認証が必要なメソッドで Passport::actingAs()
メソッドを呼び出します。このメソッドは、ユーザー ログインをシミュレートするためのパラメーターとしてユーザー モデル インスタンスを受け入れます。
public function login() { $user = User::find(1); // 通过用户 ID 获取用户 Passport::actingAs($user); // ... }
ユーザーがログインすると、Lumen Passport はアクセス トークンを生成し、これを使用してインターフェイス呼び出しを行うことができます。ユーザー認証が必要なメソッドでは、auth()->user()
を使用して、現在ログインしているユーザー インスタンスを取得できます:
public function profile() { $user = auth()->user(); return response()->json([ 'user' => $user, ]); }
上記の手順により、実装に成功しました。 Lumen Passport による PHP セキュリティ認証。これで、アプリケーションで認証を使用して特定のルートと機能を保護し、許可されたユーザーのみがアクセスできるようにできるようになりました。
概要:
この記事では、Lumen Passport を通じて PHP セキュリティ検証を実装する方法を紹介します。まず、Lumen Passport 拡張パッケージをインストールし、キーとデータベース移行ファイルを生成しました。次に、構成を変更し、Passport 方式を使用して認証を構成します。最後に、コントローラーの Passport
クラスを使用して、ユーザー ログインとアクセス トークンの生成を実装できます。このシンプルかつ強力な方法で、ユーザー認証と権限制御を簡単に実装して、アプリケーションのセキュリティを保護できます。
以上がLumen Passport による PHP セキュリティ認証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。