2017-01-03 1 views
1

私たちは現在ASP.NET MVCのポータルを持っていますが、私たちの顧客の1人は別のツールとしてポータルを使用したくないので、 WEB APIを使用し、それを消費します。Web APIに最も適した認証と認可のオプションを選択

私はWeb APIで認証と承認を実装したいと思っています。私は質問の答えを見つけるためにgoogleを使っていましたが、それを取得しませんでした。

以下の点で混乱します。

  1. マイクロソフトが提供するデフォルトの実装をOWINするのが最善でしょうか?またはいくつかのカスタム実装ですか?

  2. OWINをセキュリティの面で使用する利点と欠点は何ですか?

  3. いつJWT(Json Webトークン)とOWINを使用するのですか?

  4. その他のセキュリティで保護されたWeb APIの作成に役立つ実装ですか?

私が決定するのに役立つすべての専門家の貴重な情報を探してください。

答えて

1

私は同様のものを実装しました。これは私たちが働く方法です:ログインすることを許可するアプリケーション(MVCアプリ)があります。ログインは、すべてのユーザー認証を処理する別のmvcプロジェクト(私たちのSTS)を使用します。ログインとパスワードが正しくポストされると、JWTが生成され、MVCアプリに戻されます。アプリケーション側では、トークンをデコードし、asp.netアプリケーションのクッキーにそのトークンを組み込みます。 WebApi RESTメソッドを含む別のプロジェクトもあります。これらは、STSによって生成されたJWTを使用することによってのみ呼び出すことができます。カスタム属性を使用してこの詳細を詳しく説明し、トークンに含まれている特定のアクセス許可または役割の要求にアクセス許可を設定できます。

は、このすべてを作成するために、私は非常に多くの記事のこれらのシリーズを使用して助けられた。 http://bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/

アーキテクチャの面では、これは私の意見「それはどうあるべきか」が、私はこれの専門家ではないですです。

ので要約:

  • Webアプリケーション - アプリケーションクッキーWEBAPIレストメソッドを呼び出す

  • を承認/認証する - 認可/にかかる

  • 別々のSTSを認証するためにJWTを使用してPOSTSがJWTを認証して生成する

関連する問題