ホームページ > バックエンド開発 > PHPチュートリアル > Laravel Sanctum を使用した PHP セキュリティ検証

Laravel Sanctum を使用した PHP セキュリティ検証

王林
リリース: 2023-07-26 18:00:01
オリジナル
1030 人が閲覧しました

Laravel Sanctum による PHP セキュリティ検証

概要:
現代の Web 開発では、セキュリティ検証は重要な側面です。 Laravel Sanctum は、Laravel が提供するシンプルで柔軟な認証ガードで、フロントエンドとバックエンドの分離アプリケーションに使用できます。この記事では、Laravel Sanctum を使用して PHP セキュリティ検証を実装する方法を紹介し、関連するコード例を示します。

ステップ 1: Laravel Sanctum をインストールする

まず、Laravel プロジェクトに Sanctum 拡張機能パッケージをインストールします。 Composer を使用して、次のコマンドをインストールして実行できます。

composer require laravel/sanctum
ログイン後にコピー

ステップ 2: Sanctum を構成する

インストールが完了したら、Sanctum を構成する必要があります。プロジェクトのルート ディレクトリにある config/app.php ファイルを開き、providers 配列を見つけて、次のコードを追加します。

'providers' => [

    // ...

    LaravelSanctumSanctumServiceProvider::class,

],
ログイン後にコピー

次に、次のコマンドを実行します。 Sanctum の構成ファイルとデータベース移行ファイルを公開するには:

php artisan vendor:publish --provider="LaravelSanctumSanctumServiceProvider"
ログイン後にコピー

次に、次のコマンドを実行してデータベース移行を実行します:

php artisan migrate
ログイン後にコピー

ステップ 3: 認証ドライバーを構成する

セットアップ プロセスでは、Sanctum をデフォルトの認証ドライバーとして選択する必要があります。 config/auth.php ファイルを開き、guards 配列を見つけて、デフォルトのガードを sanctum:

'defaults' => [
    'guard' => 'sanctum',
    // ...
],
ログイン後にコピー

に設定します。 ステップ 4: Sanctum ミドルウェアを有効にする

Sanctum には、認証を処理するための独自のミドルウェアが必要です。 Sanctum を有効にするには、Authenticate ミドルウェアを Sanctum が提供するミドルウェアに置き換える必要があります。 app/Http/Kernel.php ファイルを開き、次のコードを $routeMiddleware 配列に追加します:

protected $routeMiddleware = [
    // ...
    'auth' => LaravelSanctumHttpMiddlewareEnsureFrontendRequestsAreStateful::class,
];
ログイン後にコピー

ステップ 5: Sanctum API トークンを生成する

Sanctum は認証用の API トークンを提供します。 API トークンは、次のコードで生成できます。

use LaravelSanctumHasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens;
}
ログイン後にコピー

このコードは、User モデルの HasApiTokens 特性を使用して、ユーザーの API トークンを生成します。

ステップ 6: ルートを保護する

Sanctum を使用してセキュリティ検証を行った後、次のコードを使用して、認証が必要なルートを保護できます。

Route::middleware('auth:sanctum')->group(function () {
    // 这里是需要保护的路由
});
ログイン後にコピー

上記のコードは、 Sanctum 中間ソフトウェアを適用してユーザーの API トークンを検証します。

ステップ 7: 認証

ユーザーがフロントエンド アプリケーションを通じてリクエストを送信すると、次のコードを使用して認証できます:

use IlluminateHttpRequest;

Route::post('/login', function (Request $request) {
    $credentials = $request->only('email', 'password');
    
    if (Auth::attempt($credentials)) {
        $user = Auth::user();
        $token = $user->createToken('api')->plainTextToken;

        return response()->json([
            'user' => $user,
            'token' => $token,
        ]);
    } else {
        return response()->json(['error' => 'Unauthorized'], 401);
    }
});
ログイン後にコピー

上記のコードは次のようになります。ユーザーが提供する電子メールとパスワードを認証して、ユーザー情報と API トークンを含む JSON 応答を返します。

概要:
Laravel Sanctum を使用すると、PHP アプリケーションのセキュリティ検証を簡単に実装できます。この記事では、Laravel Sanctum をインストールして構成する方法を説明し、関連するコード例を示します。この記事が初心者にとって役立ち、より多くの人がLaravel Sanctumを学び、使用するきっかけになれば幸いです。

参考リンク:

  • [Laravel Sanctum GitHub公式ドキュメント](https://github.com/laravel/sanctum)

以上がLaravel Sanctum を使用した PHP セキュリティ検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート