0

REST API を使用していますが、より安全にするために、登録済みのアプリケーションまたは Web サイトのみへのアクセスを制限したいと考えています。

現在、これらのクライアント アプリケーションは、Android/Windows/BlackBerry/Apple などの Web アプリまたはモバイル アプリである可能性があります。

また、クライアント アプリにコードを変更して、残りの API によって提供される値を保存して登録するように依頼することはできません。(これらのアプリは、データベースやその他の永続的なメディアを使用している場合と使用していない場合があるため)。

WCF REST API は、呼び出し元が登録されているかどうかに関係なくすべきではありません。

それを行う方法についての提案。

4

1 に答える 1

2

HTTP 基本認証を使用することは (REST サービスが HTTPS で実行されている限り)、これを行うための非常に標準的な方法です。次に、API にアクセスする登録済みアプリごとにログイン/パスワードを生成します。

[編集: 詳細はこちら: http://en.wikipedia.org/wiki/Basic_access_authentication

基本的に、クライアントが接続するとき、ユーザー名/パスワードを Base64 でエンコードし、それを標準の HTTP Authorization ヘッダーに添付する必要があります。サーバー アプリケーションはヘッダーを読み取り、ユーザー名/パスワードをデコードして抽出し、許可されたアプリケーションのリストと照合します。

注 - ヘッダーは base64 でのみエンコードされるため、ユーザー名/パスワードは事実上プレーン テキストです。この認証方法を使用する場合は、本当に HTTPS を実行する必要があります。そうしないと、ヘッダーが傍受されやすくなります]

于 2013-07-27T16:05:28.420 に答える