Comment puis-je faire en sorte que Discourse utilise Asp.Net Core 3.1 webapp comme fournisseur d'identité

Voici le problème que je cherche à résoudre :

  1. J’ai une application web ASP.NET Core 3.1 avec Identity (pas encore Identity Server) qui s’exécute sur beta.example.com. Les utilisateurs peuvent s’inscrire, créer des profils, se connecter avec Google/FB, etc. Il s’agit d’une authentification/autorisation ASP.NET standard, sans modifications réelles du code.
  2. J’ai également un forum Discourse qui s’exécute sur un sous-domaine (forumbeta.example.com).

Je souhaite que le magasin d’utilisateurs soit géré par l’application dotnet core. L’application sera le fournisseur d’identité. Lorsqu’un utilisateur tente de se connecter à Discourse, Discourse doit demander à l’application web les informations de l’utilisateur (nom, e-mail, éventuellement d’autres attributs). Si l’utilisateur existe dans l’application web et est déjà connecté, Discourse doit le connecter et lui permettre de publier. Si l’utilisateur n’existe pas ou n’est pas connecté, il doit être redirigé vers la page de connexion/inscription de l’application pour créer un compte ou s’inscrire, puis être redirigé vers Discourse.

J’ai beaucoup lu sur le sujet et il semble que je doive installer et configurer Identity Server 4 sur l’application dotnet, ce qui lui permettra d’agir en tant que fournisseur d’identité. Ensuite, apparemment, je dois soit :

  1. Utiliser la fonctionnalité SSO intégrée de Discourse
    OU
  2. Installer un plugin Oauth2 dans Discourse, puis le configurer

Je suis un peu perdu à ce stade et j’aimerais beaucoup obtenir l’aide d’une personne expérimentée pour savoir comment procéder. Les informations disponibles sur le web sont quelque peu obsolètes et je ne veux pas passer des heures dans une impasse.

@DotNetCoder Avez-vous eu des nouvelles ? Je rencontre un problème similaire. J’aimerais beaucoup avoir votre avis là-dessus.