目標は、ネイティブモバイルデバイス(ios、android、win phone)とさまざまなプレゼンテーションを持つWebアプリケーションで共有できるapiを作成することですレイヤー(asp.netコアMVC、角度)。asp.net mvcとweb APIの両方に対して同じ認証メカニズムを実装する方法
モバイルクライアントとjavascriptクライアントで使用されるREST APIを実装するためのasp.netコアWeb APIの使用を計画しています。私の質問は、asp.net MVCのような他のプレゼンテーション層は、セキュリティロジックを置くのが理想的な場所で使用されるからです。チェックをREST APIに追加すると、asp.net MVCアプリケーションコントローラは、ビジネスレイヤ(共有クラスライブラリ)を参照するのではなく、HttpClientを使用してREST Web APIを呼び出す必要があります。
各アプリケーションの認証は、モバイルフレンドリーで簡単に拡張できるため、json Webトークンで処理されます。ですから、私の質問は本当に認可のセキュリティとそれがどこにあるかについてです。
オプション1:
ウェブAPI(セキュリティがここに住んでいる)>ビジネス/サービス層>データアクセス層>データ層
オプション2: ウェブAPI>ビジネス/サービス層(セキュリティがここに住んでいます) >データアクセス層>データ層
オプション1では、これはREST APIを呼び出す必要があるため、モバイルとクライアントのフロントエンドでは問題ありませんが、asp.netのコアMVCはHttpClientを使用してREST APIを呼び出す必要がありますbuinsess/service層を構成する共有クラスライブラリを呼び出すのではなく、
オプション2では、すべてのREST APIが、セキュリティが処理されるビジネス/サービスレイヤーを呼び出すことになります。
OpenID Connectは良いスタートです[http://openid.net/connect/](http://openid.net/connect/)。または、独自の認証サービスを実装します。そして、あなたのアプリケーションはすべてそれが使用されます。サービスでは、ビジネスレイヤを参照します。そして、_MVCはHttpClientを使ってREST APIを呼び出さなければなりません - なぜこれが問題なのですか? – Fabio
HttpClientを使用してREST APIを呼び出すことは問題ではなく、他の人が行ったことであるかどうかを尋ねるだけで、共有ライブラリを参照するのではなくHttpClient経由でサービスを呼び出すとパフォーマンスなどの問題があるかどうかを確認する必要があります。 。 – maguy
アイデンティティ・サーバーは、ssoを作成するためのフレームワークです。これは、必要なものです。 – misha130