Ah, esse é um problema interessante. Uma abordagem que experimentamos foi usar o Keybase para isso. Eles já possuem um sistema robusto de prova de identidade que funciona com muitas plataformas. Você pode ler sobre nossos experimentos em Discourse Keybase Proof. Não tenho certeza de como ficará agora que o Zoom o adquiriu.
Essa parte soa um pouco estranha. Como o Discourse, atuando como IdP para o Riot, ajudaria você a provar no Discourse que você possui uma conta existente do Riot/Matrix?
Você poderia explicar um pouco mais? Estava pesquisando sobre SSO do Matrix ontem e, finalmente, eles têm algo agora. Eles implementam tanto SAML quanto, na branch develop, OAuth2. O Discourse não consegue se comunicar como servidor em nenhum dos casos, apenas como cliente, então estava pensando em fazer o Discourse atuar como um servidor OAuth2 ou adicionar suporte ao protocolo SSO próprio do Discourse no Synapse. Não tenho certeza se isso atenderia às suas necessidades…