Django バックエンドを使用して単純な API を実装しており、API キーを使用してアクセス制御をサポートしたいと考えています。
標準と同様に、プロトコルは秘密鍵と公開識別子の組み合わせを使用して要求を認証します。公開識別子、データ、およびハッシュ (データ + 秘密鍵) がサーバーに送信されます。次に、サーバーはデータベースに保存されている秘密鍵を使用してハッシュ関数を複製し、ハッシュが一致するとリクエストが認証されます。
私の質問は「データ」部分に関するものです。もちろん、クライアントとサーバーは「データ」とは何かについて合意する必要があります。そうしないと、ハッシュが一致しません。プロトコルは、「データ」がブラウザによって送信された生のクエリ文字列であることを単純に指示できます。その場合、Django ビューから生のクエリ文字列を取得するにはどうすればよいですか (QueryDict で解析するため、シーケンス情報が失われます)。
または、私が見逃している他のベストプラクティスはありますか?