Come posso far usare a Discourse Asp.Net Core 3.1 webapp come Identity Provider

Ecco il problema che sto cercando di risolvere:

  1. Ho un’app web Asp.net Core 3.1 con Identity (non Identity Server - ancora) in esecuzione su beta.example.com. Gli utenti possono registrarsi, creare profili, accedere con Google/FB, ecc. Autenticazione/Autorizzazione standard ASP.net, senza modifiche reali al codice.
  2. Ho anche un forum Discourse in esecuzione su un sottodominio (forumbeta.example.com).

Vorrei che il repository degli utenti fosse gestito dall’app dotnet core. L’app sarà il Provider di Identità. Quando un utente tenta di accedere a Discourse, quest’ultimo dovrebbe richiedere all’app web le informazioni dell’utente (nome, email, eventuali altri attributi). Se l’utente esiste nell’app web ed è già autenticato, Discourse dovrebbe effettuarne l’accesso e consentirgli di pubblicare. Se l’utente non esiste o non è autenticato, dovrebbe essere reindirizzato alla pagina di accesso/registrazione dell’app per creare un account o registrarsi, per poi essere reindirizzato nuovamente a Discourse.

Ho letto molto sull’argomento e sembra che debba installare e configurare Identity Server 4 sull’app dotnet, il che la abiliterebbe come Provider di Identità. Successivamente, apparentemente, devo:

  1. Utilizzare la funzionalità SSO integrata di Discourse
    OPPURE
  2. Installare un plugin Oauth2 in Discourse e configurarlo

In questo momento sono un po’ perso e apprezzerei molto l’aiuto di qualcuno esperto per sapere come procedere. Le informazioni disponibili sul web sono un po’ datate e non voglio perdere ore a seguire vicoli ciechi.

@DotNetCoder Hai avuto qualche successo? Sto affrontando un problema simile. Mi farebbe molto piacere avere il tuo parere su questo.