web-dev-qa-db-ja.com

WebAPIおよびMVCWebサイト-IdentityServer4

ここでやろうとしていることすべての目的を理解するのに苦労しています。 identityserver4によって提供される認証によってリンクされたWebAPI、MVC、およびAngular2プロジェクトがあります

のように、なぜ私はWeb APIを作成するのですか?

MVCアプリケーションに接続するユーザーは、MVCバックエンドではなくWEB APIと直接情報を通信しますか?

もしそうなら、angular2のSPAを目指している場合、MVCバックエンドの目的は何ですか?

Identityserver4を使用して、MVCとWEBAPIおよびユーザーを接続しました。それは、ログイン後の最初のページと最初のページの読み込みから、情報の呼び出しの大部分がMVCバックエンドではなくWeb APIからのものであることを意味しますか?

MVCバックエンドとWebAPIの正確な目的と、それがIDサーバーが統合されたSPAとどのように関連しているかを明確にできれば、役に立ちます。

ありがとう。

1
Ya Wang

フロントエンドプロジェクト(.NETに関係なく)では、テスト/デバッグ用のファイルをホストするために「dev」Webサーバーを実行するのが一般的です。 MVCプロジェクトがAngular2ファイルに対してこの機能を実行しているようです。

MVCコントローラーをAPIバックエンドとして使用することもできますが、これは ASP.NETのMVCパラダイム を利用する標準的な方法ではありません。 Web APIプロジェクトはその目的のために設計されているため、おそらく使用することをお勧めします。

IdentityServer4で使用している付与タイプを指定していません。ただし、ブラウザアプリには Implicit Grant を使用する必要があることに注意してください。他の助成金では、アプリが機密情報を持っている(または収集している)必要があります。 Implicit Grantを使用すると、認証情報はアプリを通過しません。代わりに、アプリにアクセストークンがない場合、ログインのためにIdentityServerにリダイレクトし、IdSrvはアクセストークンを使用して(つまりAngular2)アプリにリダイレクトします。次に、アプリはすべてのAPIリクエストとともにアクセストークンを送信します。

1
Kasey Speakman