私は、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