通常は「Authorization」フィールドを使用して、トークンがリクエストのヘッダーに手動で追加されるのはなぜですか?
通常、トークンが「認可」フィールドに配置される主な理由は次のとおりです。
-
標準化: HTTP プロトコルは、認証関連の情報を伝達するために使用される「Authorization」などのいくつかの共通ヘッダー フィールドを定義します。このように、「認可」フィールドにトークンを配置することは、HTTP プロトコルの仕様に準拠します。
-
明確なセマンティクス: 「Authorization」フィールドの意味はリクエストの認証と認可であるため、このフィールドにトークンを配置すると、その役割をより明確に表現できます。
-
セキュリティに関する考慮事項: 「認証」フィールドにトークンを配置すると、機密情報の漏洩を防ぐのに役立ちます。このフィールドは通常、認証に関連しており、クライアントとサーバーの両方が暗号化された送信などの特別な処理を実行するためです。サーバーキャッシュなど
「認可」フィールドにトークンを配置することは必須ではないことに注意してください。開発者は、トークンを渡すために他のカスタマイズされたフィールドを選択することもできます。ただし、「Authorization」フィールドを使用するのが一般的であり、可読性とセマンティック表現が向上し、複数の認証および認可メカニズムと互換性があります。
コード
以下は、JavaScript を使用してトークンをリクエストのヘッダーに手動で追加し、「Authorization」フィールドを使用するコード例です。
const url = "http://example.com/api/resource";
const token = "your_token_here";
fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${
token}`
}
})
.then(response => {
console.log("Response Code: " + response.status);
// 这里可以对响应进行处理
})
.catch(error => {
console.error("Error:", error);
});
この例では、フェッチ関数を使用して GET リクエストを開始し、ヘッダー属性を通じて「Authorization」フィールドを手動で追加します。文字列補間構文${token}
は、トークン値をリクエスト ヘッダーに挿入するために使用されることに注意してください。
http://example.com/api/resource
を実際のリクエスト URL に置き換え、your_token_here
を有効なトークン文字列に置き換えてください。さらに、必要に応じてリクエスト メソッド (GET、POST など) やその他のリクエスト パラメータを調整する必要がある場合があります。
場合によっては、ブラウザのセキュリティ ポリシーの制限により、JavaScript コードで「Authorization」ヘッダー フィールドを直接設定すると、クロスオリジン リクエストによって制限される可能性があることに注意してください。この場合、サーバー側でクロスオリジンリクエストまたはプロキシリクエストを構成する必要がある場合があります。