web-dev-qa-db-ja.com

GETリクエストのクエリパラメータとしてjwtをURLに入れるのは安全ですか?

GETリクエストのクエリパラメータとしてjwt(json web token)をURLに入れるのは安全ですか?

52
allen kim

次の状況では安全です。

  1. jWTは1回限りの使用です
  2. jtiおよびexpクレームがトークンに存在する
  3. 受信者は、jtiexpを使用してリプレイ保護を適切に実装します。

ただし、繰り返し使用できるトークンとして使用される場合は、 APIに対してクエリパラメータとして指定することは、サーバーまたはクライアントシステムにアクセスできる他のユーザーが利用できるログやシステムプロセス情報になる可能性があるため、あまり好ましくありません。その場合、ヘッダーまたはPOSTパラメーターの一部として提示する方が良いでしょう。

それに加えて、クエリパラメータで使用すると、ブラウザまたはサーバーでURLサイズの制限が発生する可能性があります。ヘッダーで使用すると、さらに多くのスペースが提供されます。POSTパラメーターとして使用すると最適です。

65
Hans Z.