PassportはLeague OAuth2 serverの上に構築されていますので、Oauth2に関するセキュリティについては深く掘り下げて読んでみたいと思うなら、ここで質問の対象外です。シンプルにするために、サーバー上のLaravel 5.3、SSL/TLSの組み込み機能を使用して、アプリケーションとサーバーの間の通信を保護してください。本当に奇妙なことをしない限り、おそらく大丈夫でしょう。 OAuth2は本当に堅牢で、多くの主要プレイヤーが使用していますので、セキュリティについてはあまり心配しないでください。
あなたが認証の伝統的な方法に慣れているならば、それはScotch: The Ins and Outs of Token Based Authentication
にどのように動作するかを説明し、それについては本当に良い記事があるトークン各要求に渡すことのグリップを得るために少し奇妙かもしれません
ミドルウェアを使用してルートを保護することができます。パスポートは例、着信要求時にアクセストークンを検証し、認証ガードが含まれています
Route::get('/api/user', function() {
//
})->middleware('auth:api');
任意のAPI要求者が要求を行うことができる速度を制限Laraelに建てられた速度制限があります。 デフォルトスロットルにある
Route::group(['prefix' => 'api', 'middleware' => 'throttle'], function() {
Route::get('user', function() {
return Person::all();
});
});
:あなたが推測しているかもしれませんが、あなたはまたlaravelのために、それはあなたが使用することができ、スロットルミドルウェア、(接頭辞として/ APIと)のコード例ですが、このためのミドルウェアを使用する必要がありますユーザーが制限に達すると1分間に60回の試行を行い、アクセスを無効にします。
あなたはこのルートにリクエストを作る場合、あなたは今、レスポンスヘッダに以下の行が表示されます。
HTTP/1.1 200 OK
... other headers here ...
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
あなたは10回に制限したい場合はもちろん、スロットルミドルウェアをカスタマイズすることができます毎分、これはあなたがそれを行うだろうかです:彼らはもう一度試すことができるまで
Route::group(['prefix' => 'api', 'middleware' => 'throttle:10'], function() {
Route::get('user', function() {
return User::all();
});
});
あなたはまた、数分の量を決定する二番目のパラメータを追加することができ、あなたが「throtttle:10,10」どうなる代わりにを。
@ Simon。答えは – iCoders