Concordo, ma solo un suggerimento, utilizza il Flusso OAuth2 da Omniauth e ha un proprio meccanismo di registrazione per ottenere un segreto client in questo codice qui discourse/app/services/discourse_id/register.rb at 62942ee5851b55aa1c0a56dbd3f43af1330ea451 · discourse/discourse · GitHub
Non sono del tutto sicuro se omniauth utilizzi OIDC o un endpoint di introspezione del token per ottenere gli attributi utente effettivi, tuttavia.