0

私は REST API (ASP.NET WebApi を使用) を作成しており、クライアント側の JavaScript 呼び出しを介してシングル ページ Web アプリで使用され、誰でもインストールできるモバイル アプリを呼び出すことができます。独自のアプリを作成します。

API を保護するために HMAC を調べましたが、プライベート キーをクライアントに安全に取得する方法がわかりません (つまり、ブラウザ クライアント側、モバイル アプリで?

私のアプリ、サードパーティの開発アプリ、およびクライアント側の JavaScript のみが API にアクセスできるようにしようとしています。

4

1 に答える 1

1

あなたのユースケースでは、2 つの異なる認証メカニズムを使用します。ブラウザーで実行されている SPA の場合、フォーム認証を使用してユーザーを認証し、ブラウザーが AJAX を使用して Web API を呼び出すときに、ASP.NET を使用して Cookie に格納されている資格情報を検証します。サードパーティまたはモバイル アプリの場合は、HMAC 認証を使用します。Windows Azure や AWS などの多くのクラウド プロバイダーと同様に、その鍵を帯域外で交換できます。使用できる Web API 用の HMAC の実装を作成しました。こちらから入手できます https://github.com/pcibraro/hawknet

ユーザーがユーザー名とパスワードで認証されている場合、最初の呼び出しで SSL を使用してキーを交換することもできますが、それはあなた次第です。

よろしくパブロ

于 2012-12-26T16:25:12.360 に答える