web-dev-qa-db-ja.com

IIS

テンプレートを作成しましたAngular/ASP.NET Core with authentication support with this command:

dotnet new angular --auth Individual

これは:

  • ASP.NET Core 3.0アプリ
  • ユーザーを認証および保存するためのASP.NET Core Identity、
  • OpenID Connectを実装するためのIdentityServer4、
  • Angular SPA、

すべて一緒に動作するように事前設定されています。

このテンプレートに基づいてアプリを展開する前に、まずこのテンプレートアプリをIISに展開しようとしています。

アプリをIISに展開し、データベースのセットアップとアプリの接続を問題なく行っていますが、行き詰まっています。製品証明書を作成および構成する方法がわかりません。トークンの署名に使用します。

Microsoft docsのこの時点 では、「トークンの署名に使用する本番証明書」について簡単に述べています。また、Azureへのデプロイの例も示します。

IISでキーを作成するにはどうすればよいですか?ここで何かしますか? IIS Server Certificate

次に、appsettings.jsonに正しい設定を追加するにはどうすればよいですか?

"IdentityServer": {
  "Key": {
    "Type": "Store",
    "StoreName": "My",
    "StoreLocation": "CurrentUser",
    "Name": "CN=MyApplication"
  }
}

私はネット上でガイドや例を見つけるのに苦労しています。正しい方向への助けやポイントがいただければ幸いです。

4
marno11

したがって、これは開発目的で構成するのがかなり簡単なはずです。 IISでは、ローカルマシンでのみ有効な自己署名証明書を自分で発行できます。

名前を付け、他に何も変更せずに[OK]をクリックすると、生成された証明書がデフォルトでPersonalLocalMachineに保存されるため、以下の構成が機能するはずです。

"IdentityServer": {
  "Key": {
    "Type": "Store",
    "StoreName": "Personal",
    "StoreLocation": "LocalMachine",
    "Name": "YourName"
  }
}

enter image description here

証明書を他の場所からインポートしようとする場合、Identity Server 4の目的では少なくとも2048ビットのキーである必要があることに注意してください。