6

インターネット経由で WCF サービスと対話するクライアント プログラムを構築しています。すべてが意図したとおりに機能しますが、クライアント プログラムだけがサービスを利用できるようにサービスを保護するにはどうすればよいでしょうか?

現在、私のサービスへの正しい URL を持っている人なら誰でも、WCFTestClient でそれを使用できます (例)。

クライアントだけがサービスを利用できるようにプライベートにする最良の方法は何ですか? トークン文字列をローテーションしますか? 証明書?パスワード?

私にはわかりませんし、インターネット上で役立つものは何も見つかりませんでした。

よろしくお願いします

更新: クライアント プログラムは、一般 (全員) 向けにダウンロードすることを目的としています。これは内部使用ではなく、私たちが提供するサービスであり、正式な製品です。

私自身の考えは次のようなものでした:クライアントプログラムに証明書をバインドします(それが可能であれば?)。WCF サービスが実行されている IIS で、有効な証明書を確認します。それは可能ですか?または、より良い解決策はありますか?

4

2 に答える 2

1

フォーム認証を使用している場合は、AspNetCompatibilityRequirementsMode を Required に有効にすることで、ASP.NET を利用して FormAuthentication Cookie を確認できます。

または、サービスがスタンドアロンの場合、つまりすべての人が使用する場合は、oauth 認証を使用できます。詳細については、Oauth 認証を参照してください。

あなたができることは、認証されたすべてのクライアントに共有される消費者秘密鍵があることです。呼び出し元はこのキーを使用していくつかの情報に署名し、サーバーも同じキーを使用して署名してから比較します。

それが役に立てば幸い

于 2013-06-21T07:16:09.787 に答える