¿Cómo puedo hacer que Discourse use la aplicación web Asp.Net Core 3.1 como proveedor de identidad?

Este es el problema que estoy tratando de resolver:

  1. Tengo una aplicación web Asp.net Core 3.1 con Identity (aún no Identity Server) ejecutándose en beta.example.com. Los usuarios pueden registrarse, crear perfiles, iniciar sesión con Google/FB, etc. Es la autenticación y autorización estándar de ASP.net, sin modificaciones reales en el código.
  2. También tengo un foro de Discourse ejecutándose en un subdominio (forumbeta.example.com).

Me gustaría que el almacén de usuarios se mantenga en la aplicación de dotnet core. La aplicación será el Proveedor de Identidad. Cuando un usuario intente iniciar sesión en Discourse, este debería solicitar a la aplicación web la información del usuario (nombre, correo electrónico, posiblemente otros atributos). Si el usuario existe en la aplicación web y ya ha iniciado sesión, Discourse debería iniciar sesión en el usuario en Discourse y permitirle publicar. Si el usuario no existe o no ha iniciado sesión, debería ser redirigido a la página de inicio de sesión/registro de la aplicación para crear una cuenta o registrarse, y luego ser redirigido de nuevo a Discourse.

He estado leyendo mucho sobre el tema y parece que necesito instalar y configurar Identity Server 4 en la aplicación dotnet, lo que le permitirá actuar como un Proveedor de Identidad. Luego, aparentemente, necesito:

  1. Utilizar la funcionalidad SSO integrada de Discourse
    O
  2. Instalar un plugin de OAuth2 en Discourse y luego configurarlo

En este punto me siento un poco perdido y me encantaría contar con la ayuda de alguien experimentado para saber cómo proceder. La información disponible en la web está un poco desactualizada y no quiero pasar horas siguiendo un camino sin salida.

@DotNetCoder ¿Has tenido suerte? Me encuentro con un problema similar. Me encantaría contar con tu opinión al respecto.