質問: DotNetOpenAuthを使用してWebアプリケーションとWeb APIのログインシステムを実装する 私は人々が使用する最良の技術のセットであると思うものに関するいくつかのガイダンスを探しています。私たちは、顧客が標準の資格情報またはソーシャルアカウント(Google、Twitterなど)で登録/ログインできるようにするWebポータルを作成しようとしています。 ポータルに登録してログインすると、さまざまなWebアプリケーションにアクセスして、自分が誰であるか、トークンに基づいてどのような権限を持っているかを知ることができます。何らかのOAuthメカニズムを使用して一連のWeb APIを保護する必要があるため、ユーザーはWebアプリケーションでアカウントを作成し、独自のAPIにアクセスするために必要なキーを提供するアプリケーションを作成する可能性がありますアプリ。 MVC 4とDotNetOpenAuthを使った基本的なポータルアプリがあり、ユーザーはアカウントを作成し、ユーザー名とパスワードまたはGoogle、Facebookアカウントなどでログインできます。 APIはMVC 4 Web API 理想的には、セットアップ全体をできるだけシンプルにする必要がありますが、Windows Azure Access Control(ACS)を使用して重い荷物を取り除く方法を簡単に見てきましたが、正確にどこに収まるかはわかりません。 現時点では、ADFS 2.0サーバーとWIFを実行して、アプリケーションへのWebログインを許可していますが、ソーシャルログインを統合し、Web APIを保護するための理想的な選択肢ではないようです ポータルにログインすると、別の2つの部分になる可能性があると思います。他のアプリに何らかのクレームトークンを提供して、ユーザーが誰で、何ができるのかを理解するにはどうすればいいですか?そして、おそらくWeb APIの認証/承認はそれ自身のエンティティですか? 御時間ありがとうございます
回答: 組み込みのMVC 4ログインシステムを使用して終了し、JWTトークンサポートも追加しました.JWTトークンにユーザーがログインしたときに、そのトークンがクッキーとして保存されます。これはブラウザによって同じドメインのサイトを自動的に渡されます.JavascriptからWeb APIが呼び出されると、ブラウザから送信されたヘッダ内のトークンがチェックされ、検証され、正しいデータが返されるか、不正な応答が返されます。 すべての拠点を網羅しているわけではなく、信頼できる第三者にWebサービスへのアクセス権をまだ与えることはできません