0

mvc5 と webapi の 2 つのプロジェクトがあります。mvcを使用しているにもかかわらず、純粋なクライアント側の邸宅からAPIを呼び出したいと思っています(アプリケーションのようなスパに古いコードを移行しようとするのが遅くなり、現在のコードベースを維持できます)。

API の URL は subdomain.mydomain.com/api などのメイン ドメインの下にあるため、jsonp やクロスドメインについて心配する必要はありません。

API を保護するにはどうすればよいですか。ユーザーが mvc5 アプリケーションにログインするときに、アクセスできる何らかのキーまたはトークンがあると考えるのは正しいでしょうか。サイトのどこかに保存して、リクエストヘッダーに追加しますか?

このアプローチに従う場合、API 側でトークンを検証するにはどうすればよいですか。ヘッダーを読み取るアクションフィルター? または、よりクリーンな方法があります。

API の使用に関して私が実際に見つけることができる唯一の情報は、基本認証を使用することです。

4

1 に答える 1

0

それを行うには、トークンベースの方法を使用するのが良いシンプルな(っぽい)方法だと思います。したがって、クライアントは一度認証し、トークンを渡してから、後続のリクエストがトークンを渡し、サーバーがそれをチェックします。

いくつかのカスタム コードが必要ですが、いくつかの良い例を見てきました。これは私が大まかにフォローしたものです: http://www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API

HTTPS を強制し、その後トークンの生成と検証を行います。

于 2014-02-13T05:42:11.360 に答える