最新のASP.NET Core Web APIテンプレートに個人ユーザーアカウント認証オプションがない理由について少し混乱しています。
MVCテンプレートが行う方法で、個々のユーザーアカウントを実装することはまだ可能ですか?
AspNet Identityテーブルを持つデータベースにアクセスするすべてのビジネスロジックとデータレイヤーを持つスタンドアロンWeb APIを作成するとします。 MVCアプリを使用してこのAPIを呼び出す予定です。
これを行う1つの方法は、asp.net MVCアプリを作成し、個々のユーザーアカウント認証を使用して、controllers/apiフォルダーを使用してMVCアプリ内でAPIを構築することです。ただし、APIを、MVCアプリだけでなく、完全に異なるサーバーでホストでき、複数のアプリケーションからアクセスできる独自のスタンドアロンプロジェクトにしたいので、このようにはしたくありません。
テンプレートがないため、このシナリオで認証が通常どのように機能するかについて誰かが正しい方向に導くことができますか?
ASP.NET Core Web APIの個別ユーザーアカウント認証オプションは、 。NET Core 2.0 Preview 1 で利用できます。
残念ながら、.NET Core 2.0 Preview 1はVS 2017リリースでは使用できません。
ただし、 Visual Studio 2017 Preview (VS 2017安定版と並行して使用できます)をインストールできます:
IdentityServer4 を使用すると、ASP OpenID ConnectやOAuth2などのプロトコルを使用した.NET Core Web APIのシングルサインオンとアクセス制御の実装が可能になります。 ASP.NET Core IdentityおよびEntity Framework Coreを使用します。
次のnugetパッケージにインストールする必要があります。
Install-Package IdentityServer4
identityServerミドルウェアをHTTPパイプラインに追加します。
app.UseIdentityServer();