ホームページ > 記事 > PHPフレームワーク > Laravel 開発: Laravel Sanctum を使用して API 認証を実装するにはどうすればよいですか?
RESTful API の人気とアプリケーションの普及に伴い、API の認証と認可を必要とするアプリケーションがますます増えているため、API セキュリティは今日のソフトウェア開発において非常に重要な側面となっています。 Laravel Sanctum は、Laravel 7.0 ですぐに導入された軽量の認証システムで、API 認証をシンプルかつ安全にするように設計されています。この記事では、LaravelでSanctumを使用してAPIのセキュリティを確保する方法を紹介します。
始める前に、Laravel 7.0 バージョンがインストールされていることを確認する必要があります。次に、composer を使用して Laravel Sanctum の依存関係をインストールします。
composer require laravel/sanctum
Sanctum をインストールした後、次のコードを config/app.php
ファイルに追加します。ちなみに、Laravel アプリケーションはすでに Sanctum が提供するサービスと機能を使用しています。
データベース テーブルを提供します:
テーブルを作成する前に、最初にモデル リレーションシップを作成する必要があります。これは、AuthServiceProvider
に以下を登録することで実行できます: <pre class='brush:php;toolbar:false;'>'providers' => [
// ...
LaravelSanctumSanctumServiceProvider::class,
],
'aliases' => [
//...
'Sanctum' => LaravelSanctumSanctum::class,
]</pre>
は、Laravel が artisan merge# を実行しないようにするために使用されます。 ## コマンド Sanctum のデータベース移行ファイルを実行します。ただし、ほとんどの場合、データベース移行ファイルのコマンドに追加するだけです。
Sanctum::actingAs() ユーザー認証なしでユーザーを偽装する開発専用のメソッドも提供します。
次に、次のコマンドを実行して
personal_access_tokens
use LaravelSanctumSanctum; //... public function boot() { $this->registerPolicies(); Sanctum::ignoreMigrations(); Sanctum::actingAs( null, [ 'superuser' ]); }
Create API Token
hasApiTokens() 関数と
createToken() 関数を使用する方法です。
php artisan migrate
ここでは、ユーザー モデル HasApiTokens
ユーザー モデルに API トークン機能を実装するためのトレイト。 createToken メソッドを使用して API トークンを作成し、トークンの作成時にオプションの名前と承認されたアクセス許可キーを指定します。 API ルートの保護
// use the HasApiTokens trait within your User Model use LaravelSanctumHasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; // ... } // create a Token with User ID and given Abilities $personalAccessToken = $user->createToken('API Token', ['server:get','server:post']);
このコードでは、sanctum を含む検証を定義します。
ミドルウェア ルーティング グループ。ルート グループには、アクセスするために有効なトークンのみが必要なルートが含まれています。
ベアラー トークンの使用
ヘッダー経由で API トークンを送信する最良の方法です。一般的な方法。リクエスト ヘッダーに Authorization: Bearer {{$personalAccessToken->plainTextToken}}
を追加することでトークンを承認できます: <pre class='brush:php;toolbar:false;'>// A Group of API routes that require a valid Token
Route::group(['middleware' => 'auth:sanctum'], function () {
Route::get('/user', function (Request $request) {
return $request->user();
});
});</pre>
Revoke API token
curl -H "Authorization: Bearer xxxxx" http://example.com/api/user
結論
これで、API を保護するための Sanctum 認証の実装に成功しました。 Sanctum と Laravel は、シンプルでありながら強力な API 認証を提供するため、開発者は強力な API の構築に集中し、ビジネス ロジックに重点を置くことができます。 Sanctum を使用する場合は、API の認証プロセスを完全に理解し、アプリケーションに最高のセキュリティを確保できるように、公式ドキュメントを注意深く読むことを強くお勧めします。
以上がLaravel 開発: Laravel Sanctum を使用して API 認証を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。