2
RESTベースのアプリケーションのJWT認証のエンタープライズパターン?
JWT仕様では、ペイロードとその送信方法のみが記述されていますが、認証プロトコルは開いたままになっているため、柔軟性が得られますが、残念ながら柔軟性により、アンチパターンや設計ミスが発生する可能性があります。 私はJWT認証のためによく考えテストされたエンタープライズパターンを探しています。これは使用または適応できますが、完全なものを見つけることができませんでした。 私が考えていたのは: Authorizationヘッダーが満たされていない場合、またはJWTトークンが無効であるか、期限切れの場合は、HTTP 401を送信します。 認証するには、/ login RESTチャネルを使用し、JSONオブジェクトとしてユーザー名とパスワードを送信します トークンを存続させるには、/ keepalive RESTチャネルを使用し、N(5)分ごとに呼び出し、新しいJWTトークンを受け取り、呼び出しごとに既存のトークンを置き換えます(トークンはM(15)分後に期限切れになります)。 ただし、私を邪魔するのは、その/ keepaliveチャネルの必要性です。一方、ユーザーが不在の場合(キープアライブが必要かどうかの決定がまだ満たされていない場合)であっても、認証が期限切れになるのを防ぐ必要があります。もちろん、これらは追加の呼び出しであり、プロトコルの追加の複雑さです。興味深いのは、サーバーが自動的にトークンを延長することです。セッションベースの環境では、タイムスタンプをリセットすることで発生しますが、ここではサーバーが新しいトークンを送信する必要があります。毎回ではなく、トークンがR(たとえば10)分で期限切れになると送信されます。ただし、応答本文に配置することは、JSON応答プロトコルを変更することを意味し(したがって、ソリューションは侵襲的で透過的ではありません)、クライアントが処理できる追加のHTTPヘッダーを配置することは、必ずしも良いパターンであるとは限りません。私' 私のオープンポイントに答える、すぐに使えるエンタープライズパターンはありますか?プロトコルドラフトは信頼できるアイデアですか?ゼロからデザインするよりも、すぐに使えるものを使いたいです。