JWTとベアラートークンの違いは何ですか?質問する

JWTとベアラートークンの違いは何ですか?質問する

私は、Basic、Digest、OAuth2.0、JWT、Bearer Token などの認証について学んでいます。JWT は、OAuth2.0 標準で Access_Token として使用されます。JWT はRFC 7519に、Bearer Token はRFC 6750に記載されています。

たとえば、Brealer は次のようになります。

Authorization: Bearer <token>

以前は、AJAX でトークンをサーバーに送信したり、URL のクエリ文字列にトークンを追加したりしていました。トークンはリクエスト ヘッダーに追加して送信することもできることは知っています。つまり、トークンを Authorization Bearer ヘッダーに追加する必要があるということですか?

JWT と Bearer Token の関係は何ですか?

ベストアンサー1

短い答え

JWT はクレームをエンコードして検証する 便利な方法です。

ベアラー トークンは、認証に使用される、潜在的に任意の文字列です。

コンテキスト(ストーリータイム)

数年前、JWT 革命以前は、 は<token>単なる文字列で、本質的な意味はありませんでした (例: ) 。そのトークンは、そのトークンのクレーム2pWS6RQmdZpE0TQ93Xが保持されているデータベースで検索されました。このアプローチの欠点は、トークンが使用されるたびに DB アクセス (またはキャッシュ) が必要になることです。

JWT は、独自のクレームをエンコードし検証します(署名により) 。これにより、ステートレスな (つまり自己完結型で、他の誰にも依存しない) 短命の JWT を発行できます。DB にアクセスする必要がありません。これにより、DB の負荷が軽減され、アプリケーション アーキテクチャが簡素化されます。これは、JWT を発行するサービスのみが DB/永続性レイヤー (おそらく見たことがあるレイヤー) へのアクセスを気にすればよいためです。refresh_token

おすすめ記事