私は 数年前のこの記事 を読みましたが、REST APIを保護するための賢い方法を説明しています。基本的に:
次に、 [〜#〜] jwt [〜#〜] に遭遇しました。ただし、最初の記事ではJWTについてはまったく触れられていないため、JWTが上記の認証ソリューションと異なるのかどうか、またそうでない場合はどのようになっているのかと思います。
非常に基本的な答えから始めましょう。
JWT(OAuthおよびOpenID)のコンテキストで使用される)は、クライアントとAPIの間で共有される秘密を必要としません。3つのコンポーネントがあり、2つのペアがそれぞれ秘密を共有します:クライアント<->識別サーバー、識別サーバー<-> API。
これにより、ほとんどの複雑さがAPIから識別サーバーに移動します。APIは、トークンが識別サーバーによって発行され、調整されていないことを確認するだけです。 APIがJWT署名がIDサーバーとAPI間の既知の単一の共有シークレットで有効であることを確認することを確認するにはそれでおしまい!
識別サーバーがユーザーIDを検証する方法はさまざまですが(多くの場合、TLS接続を介した古いユーザー名とパスワードのペアです)、APIには影響しません。
JWTを使用する場合のメッセージとトークン自体のプライバシーとセキュリティはTLSによって処理されるため、JWTはそのような問題を認識していません。