ホームページ  >  記事  >  バックエンド開発  >  Lumen Passport による PHP セキュリティ認証

Lumen Passport による PHP セキュリティ認証

WBOY
WBOYオリジナル
2023-07-25 13:34:451698ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。