問題を説明しようと思います。
サイト パートナー向けに完全に JS (ajax/json) で API が組み込まれているサービスがあります。サイトパートナーとは、何らかのサービス契約を結んでいる人です。そのため、API へのアクセスには、特定の人 (サイト パートナー) のみが含まれます。私がしなければならないことは、サービスが実際にサイトパートナーからのリクエストであることを確認するための認証方法を作成することです。
複雑なのは、API が完全に JS で記述されていることです。そのため、HTTP 認証、秘密 API キー、RSA キー交換のいずれも、このタイプの API には適していません。これは、サービスが受信するためにいくつかの認証パラメーターが必要であり、それを行う唯一の方法は、JSON を使用して AJAX 経由でそれらを渡すことであるためです。フォーマット。そのため、ページのソース コードを調べる方法を知っている人なら誰でも、これらのパラメーターをコピーして、好きなように使用することができます。
少なくともサイトパートナーは共有ホスティングでホストできるため、IP 制限のあるバリアントも適切ではありません。
不明確なハッシュ(サービスに対してのみクリア)+タイムスタンプを持つAPIキーを使用することを考えました。しかし、この方法は遅かれ早かれ明らかになるでしょう。
とにかく、頭に浮かぶすべてが完全に適しているわけではありません。多分誰かがその問題に直面したことがありますか?どんな答えでも感謝します。