Excluir sso com api

O external_id enviado pelo provedor de SSO deve nunca mudar. Se for possível, você deve evitar alterar os valores de external_id do seu usuário.

Desde que você não esteja definindo o parâmetro de SSO require_activation como true, você pode excluir todos os registros de SSO, conforme mencionado por Jay. Para fazer isso, acesse o console do seu site e execute:

SingleSignOnRecord.destroy_all

Antes de fazer isso, você precisa ter certeza de que não está definindo require_activation como true no payload do SSO. Se esse parâmetro estiver definido, os usuários não serão encontrados com base em seus endereços de e-mail na próxima vez que fizerem login no site. Em vez disso, eles receberão um erro ao tentar fazer login.

Se o parâmetro require_activation não estiver definido como true, os usuários serão encontrados com base em seus endereços de e-mail na próxima vez que fizerem login no Discourse. Um novo registro de SSO será criado para eles nesse momento. Se os endereços de e-mail de algum usuário estiverem dessincronizados entre o site do seu provedor de SSO e o Discourse, eles encontrarão problemas na próxima vez que fizerem login no Discourse. Você pode encontrar alguns detalhes sobre como corrigir esses problemas aqui: Debug and fixing common DiscourseConnect issues.

Se você for executar o comando que postei acima, certifique-se de criar um backup do banco de dados do seu site antes de executar o comando. Se algo der errado, você poderá restaurar o arquivo de backup.