Então, eu estava me perguntando se isso é algo que poderia ser feito - com a forma como minha comunidade está configurada, eu não quero que os usuários possam desassociar suas contas de login social do Discord ou Steam. Eu consegui ajustar o login do Steam (ninguém pode desvincular, nem mesmo a equipe) já que é um plugin externo, mas não tenho certeza se há uma maneira de modificar o do Discord, pois ele agora vem junto com o Discourse. Existe alguma maneira de alterá-lo para que o botão de desvincular conta social só seja visível/funcione para a equipe? Apenas em raras circunstâncias eu gostaria que as contas fossem desassociadas, por exemplo, o usuário vinculou a conta errada, mas para facilitar a sincronização de ranks com meu Discord, parece estranho se eles puderem simplesmente desvincular por conta própria. Eu não acho que um plugin funcionaria neste caso, mas posso estar errado - eu simplesmente não sei como um recurso como esse seria adicionado.
Você poderia ocultá-lo com CSS. Eu imagino que tirar a capacidade deles de decidir se compartilham ou não essas credenciais com você é uma violação dos termos de serviço, mas talvez minha imaginação seja muito selvagem.
Sim, bom ponto sobre a parte dos Termos de Serviço, eu nem pensei nisso. Sei que no Discord você sempre pode revogar o acesso lá. Terei que dar uma lida agora que você mencionou. Principalmente, não quero que um usuário desvincule porque uso os IDs deles para sincronização de rank e banimento. O fato de eles poderem desassociar tornaria o banimento um pouco mais tedioso e poderia permitir que um usuário sincronizasse seus ranks em várias contas do Discord. Tenho a parte do Steam sincronizando a cada login, então não há problemas lá.
EDIT: Sim, então li a documentação do desenvolvedor do Discord e nada chamou minha atenção. Então, acho que está tudo bem prosseguir. Um usuário sempre pode cortar o vínculo com o aplicativo a qualquer momento através do Discord, mas não tenho certeza se isso desvincula no Discourse ou o que exatamente.
Hmm, então, depois de investigar mais, não acho que isso seria possível sem alterações no Discourse e a adição de algumas configurações extras ao projeto principal ou pelo uso do meu próprio provedor social Discord (o que pode não ser ideal, pois já existe um integrado).
Não tenho certeza se isso é algo que seria suportado ou adicionado pela equipe do Discourse, mas acho que terei que criar um sistema externo para meu uso e apenas usar o Discourse SSO para associar um link entre o Discourse e o outro sistema. Para minhas intenções e propósitos, usarei apenas os logins sociais do Discourse para fazer login no Discourse e nada mais por causa dessa limitação. Em vez de ter todo o link e associação de contas feitos através do perfil do usuário no Discourse, acho que terei que usar a ferramenta diferente mencionada anteriormente, que já estou usando para verificar coisas que não são possíveis via OAuth ou similar.
Não vou marcar isso como uma solução, pois não é realmente uma solução direta para minha pergunta original, e sim uma solução para meu caso de uso específico.
Outra solução pode ser colocar o ID em um campo personalizado do usuário e atualizá-lo via API. Ou ter um plugin fazendo isso quando eles fizerem login. (Não li o tópico inteiro com atenção).
