REST サービスがスムーズに作成され、json の結果が返されたとします。
また、ユーザーがサービスと通信するための API キーも実装しました。
その後、A社が私のサービスを使い始めたので、APIキーを渡しました。
次に、APIキーを公開しないように(ここでの用語はわかりません)HttpHandler
forブリッジを作成しました(正しい方法かどうかもわかりません)。
たとえば、サービスの URL が次のようになっているとします。
www.myservice.com/service?apikey={key_comes_here}
会社Aは、以下のようにクライアント側からこのサービスを使用しています:
www.companyA.com/services/service1.ashx
その後、クライアント側で使用を開始します。
A社はここでAPIキーを保護しました。それはいいです。
しかし、ここで別の問題があります。他の誰かがまだwww.companyA.com/services/service1.ashx
URL を取得して、私のサービスを使い始めることができます。
他の人がそうするのを防ぐ方法は何ですか?
記録として、REST サービスを作成するために WCF Web API を使用しています。
アップデート :
A 社の HttpHandler (2 番目のリンク) は、ホスト ヘッダーのみを調べて、それが送信元かどうかを確認しますwww.companyA.com
。しかし、簡単に偽造できると思います。
更新 2:
URL のトークンを実装する既知の方法はありますか。たとえば、www.companyA.com/services/service1.ashx
HttpHandler がリクエストが正しいかどうかを確認するために、TOKEN を表すクエリ文字列パラメーターを運ぶとしましょう。
しかし、ここには考えるべきことがたくさんあると思います。