最も適切なAuthorization
HTTPヘッダータイプは何だろうか?JWTトークン。
おそらく最も人気のあるタイプの 1 つは ですBasic
。たとえば、次のようになります。
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
ログインとパスワードなどの 2 つのパラメータを処理します。したがって、JWT トークンには関係ありません。
また、Bearerタイプについても次のように聞きました。
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
しかし、意味が分かりません。クマと関係があるのでしょうか?
HTTPAuthorization
ヘッダーで JWT トークンを使用する特別な方法はありますか? を使用するBearer
か、または単純化して次のように使用する必要があります。
Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
ありがとう。
編集:
あるいは、単なるJWT
HTTP ヘッダー:
JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
ベストアンサー1
クライアントがアクセス トークン (JWT またはその他のトークン) を送信するための最適な HTTP ヘッダーは、認証スキームAuthorization
を含むヘッダーですBearer
。
このスキームは、RFC6750。
例:
GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIXVCJ9TJV...r7E20RMHrHDcEfxjoYZgeFONFh7HgQ
より強力なセキュリティ保護が必要な場合は、次の IETF ドラフトも検討してください。https://datatracker.ietf.org/doc/html/draft-ietf-oauth-pop-architectureこの草案は、(放棄された?)の良い代替案であると思われます。https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-http-mac。
この RFC と上記の仕様は OAuth2 フレームワーク プロトコルに関連していますが、クライアントとサーバー間のトークン交換を必要とする他のコンテキストでも使用できることに注意してください。
JWT
質問で言及されているカスタムスキームとは異なり、1Bearer
つはIANAに登録されている。
Basic
および認証スキームに関してはDigest
、ユーザー名とシークレットを使用した認証専用です(RFC7616そしてRFC7617) なので、その文脈には適用できません。