web-dev-qa-db-fra.com

Comment configurer les paramètres clés pour IdentityServer dans appsettings.json pour l'application principale aspnet exécutée sur IIS

J'ai créé le modèle Angular/ASP.NET Core avec prise en charge des autorisations à l'aide de cette commande:

dotnet new angular --auth Individual

C'est un:

  • Application ASP.NET Core 3.0 avec
  • ASP.NET Core Identity pour authentifier et stocker les utilisateurs,
  • IdentityServer4 pour l'implémentation d'Open ID Connect,
  • SPA angulaire,

Tous préconfigurés pour fonctionner ensemble.

Avant de déployer mon application basée sur ce modèle, j'essaie d'abord de déployer ce modèle d'application sur IIS.

J'ai déployé l'application sur IIS et une configuration de base de données et l'application y sont très bien connectées, mais je suis bloqué. Je ne sais pas comment créer et configurer le certificat de production pour utiliser pour signer des jetons.

À ce point dans les documents Microsoft il mentionne brièvement "Un certificat de production à utiliser pour signer des jetons." et donne et exemple pour le déploiement sur Azure.

Comment créer la clé dans IIS? faites-vous quelque chose ici? IIS Server Certificate

Alors, comment puis-je ajouter les paramètres corrects à appsettings.json?

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

J'ai du mal à trouver des guides ou des exemples sur le net, toute aide ou point dans la bonne direction serait apprécié.

4
marno11

Donc, cela devrait être assez simple à configurer à des fins de développement. Dans IIS vous pouvez vous-même émettre un certificat auto-signé qui ne sera naturellement valable que sur votre machine locale.

Donnez-lui un nom et si vous ne changez rien d'autre et cliquez sur OK, il stockera par défaut le certificat généré dans votre magasin Personal pour LocalMachine donc la configuration ci-dessous devrait fonctionner:

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

enter image description here

Il convient de noter que si vous essayez d'importer un certificat ailleurs - il doit s'agir d'une clé d'au moins 2048 bits pour Identity Server 4.

0