web-dev-qa-db-ja.com

JWTを介したユーザー認証のための標準プロトコルはありますか?

JWTをトークンとして使用するプロトコルについて詳しく知りたい。

私はOIDCを認識していますが、JWTを使用したユーザー認証用に他の明確に定義された堅牢なプロトコルを見つけることができません。

確かに、有効な資格情報と交換してJWTを提供する単純なRESTエンドポイントを使用できますが、それに関するRFCはどこにありますか?

2
Leogout

すばらしい質問であり、おそらく満足のいく答えがないものです。

JWTformatrfc7519 で指定されていますが、私が知る限り、HTTPのようなものです:標準ヘッダーが定義されていますが、それらをどのように使用するかあなたのアプリはあなた次第です。

たとえば、JWTには有効期限、セッションID、署名のみを含める必要がありますか?強力なサーバー側セッションメカニズムがある場合は、それで問題ないかもしれません。ただし、完全にステートレスな場合は、おそらくJWTでより多くのデータを伝送する必要があります。ユーザーIDを含める必要がありますか?グループまたはアクセス制御情報を含める必要がありますか?ユーザーのログイン方法(どのポータル、どの認証方法)に関する情報を含める必要がありますか? JWTを暗号化してユーザーが見ることができないようにするために、この情報の機密性は十分ですか? JWTを使用するすべてのサービスがAES秘密鍵を共有してそれを復号化できるようにWebアプリケーションが設計されていますか?

TL; DR:私は、JWTでどのデータを運ぶ必要があるかを正確に伝えるRFCやフレームワークについては知りませんが、 JWTで実行する必要のあるデータに関する質問はアプリのアーキテクチャに大きく依存するため、これが本当に可能かどうかはわかりません。

1
Mike Ounsworth