14

ASP.Net Core 2.0を使用していますが、個別のユーザーアカウント権限タイプのWeb APIプロジェクトを構築したいだけですが、唯一のオプションはConnect to an existing user store in the cloudです。 Create new project screenshotASP.NET Core 2.0のWeb APIのローカルユーザーアカウントストア

Store user accounts in-appの個々のユーザーアカウントを持つWeb APIのテンプレートを追加するにはどうすればよいですか?

このオプションは、Webアプリケーションでは使用できますが、Web APIでは使用できません。

+0

これに対する回答を知りたいですか? Mac上ではさらに悪いことに、個々のユーザーアカウントのオプションを取得することさえできません。 – Shumii

答えて

11

あなたはその後VSでプロジェクトを開くことができ

dotnet new webapi -au Individual 

コマンドをコンソールでプロジェクトを開始してみます。 (ダイアログを回避するため)。次に、たとえばauthorize-attributeを使用することができます。 しかし、プロジェクトは依然としてAzureベアラ認証を使用するように設定されています。 あなたは身元を取得する場所を決めなければなりません。 あなたは

MVC WebAppのとの違いを(MS-Docs)をidentityserver4を取るか、自分自身の「ASP.NETコアアイデンティティのためのカスタム・ストレージ・プロバイダー」を構築することができます:ここにあなたが登録を処理し、ユーザー名とパスワードを取得するためのビューを持つアカウントのコントローラを持っています等々。

+0

"*しかし、プロジェクトは依然としてAzureベアラ認証を使用するように設定されています*"私は質問に答える方法が混乱しています - 生成されたプロジェクトでアイデンティティを実行していません。まだAzureに依存しています。 'services.AddAuthentication(sharedOptions => { sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddAzureAdB2CBearer(オプション=> Configuration.Bind( "AzureAdB2C"、オプション));私はここにフェリックスに同意' – ruffin

2

私は同じことに困惑し、Web APIの代わりにWeb Applicationを選択しました。おそらく、MSの "in-app accounts"を削除するロジックがあります.Web APIを使用している場合は、おそらくSPAを作成しており、 "ビュー"(ログイン、パスワードを忘れたなど)はクライアントコードに記述する必要があります。サーバー上のRazorビューではありません。

IdentityServer 4を使用する場合、ビューはIS4アプリケーションで生成されることに注意してください。 ビジネスAPIアプリケーションではではありません。

私はマイクロソフトがここにヒントを与えようとしていると思います...

+2

。 Webアプリケーションテンプレートを選択し、アカウント管理用のビューとコントローラを削除して、トークンベースの認証に必要なミドルウェアのみを持つように 'Startup.cs 'を変更することができます。 – ajawad987

+0

@ ajawad987完了したら 'Startup.cs'には何が残っていますか? – ruffin

関連する問題