Wie kann ich Discourse dazu bringen, Asp.Net Core 3.1 WebApp als Identitätsanbieter zu verwenden?

Hier ist das Problem, das ich lösen möchte:

  1. Ich habe eine Asp.net Core 3.1-Webanwendung mit Identity (noch nicht Identity Server), die unter beta.example.com läuft. Benutzer können sich registrieren, Profile erstellen, sich mit Google/FB anmelden usw. Es handelt sich um eine ganz normale ASP.net-Authentifizierung und -Autorisierung ohne echte Code-Änderungen.
  2. Außerdem habe ich ein Discourse-Forum, das unter einer Subdomain (forumbeta.example.com) läuft.

Ich möchte, dass der Benutzerspeicher in der .NET Core-Anwendung verwaltet wird. Die App fungiert als Identity Provider. Wenn ein Benutzer versucht, sich bei Discourse anzumelden, sollte Discourse die Webanwendung nach den Benutzerinformationen fragen (Name, E-Mail, möglicherweise weitere Attribute). Wenn der Benutzer in der Webanwendung existiert und bereits angemeldet ist, sollte Discourse den Benutzer in Discourse anmelden und ihm das Posten ermöglichen. Wenn der Benutzer nicht existiert oder nicht angemeldet ist, sollte er auf die Anmelde-/Registrierungsseite der App weitergeleitet werden, um entweder ein Konto zu erstellen oder sich anzumelden – und anschließend zurück zu Discourse weitergeleitet werden.

Ich habe mich viel mit dem Thema beschäftigt, und es scheint, als müsste ich Identity Server 4 in der .NET-App installieren und einrichten, damit sie als Identity Provider fungieren kann. Anschließend muss ich entweder:

  1. Die integrierte SSO-Funktionalität von Discourse verwenden
    ODER
  2. Ein Oauth2-Plugin in Discourse installieren und dann konfigurieren

An diesem Punkt bin ich etwas verloren und würde mich über erfahrene Hilfe freuen, die mir sagt, wie ich weiter vorgehen soll. Die Informationen im Internet sind teilweise veraltet, und ich möchte keine Stunden damit verbringen, in eine Sackgasse zu geraten.

@DotNetCoder Hattest du Glück? Ich habe ein ähnliches Problem. Ich würde mich sehr über deine Einschätzung dazu freuen.