É possível alterar os provedores de SSO?

Entramos no ar no Discourse há cerca de dois anos e estamos usando SSO do nosso sistema principal de back office como provedor de autenticação. Ele usa um ID externo (GUID).

Estamos nos preparando para mudar nosso sistema principal de back office para outro fornecedor. Eles suportam OAuth2/OpenID, mas quando convertermos para este novo sistema, os IDs externos de nossos usuários (GUID) mudarão. Então, estou me perguntando se outros já passaram por isso e se terei que, de alguma forma, fazer uma atualização em massa dos IDs externos atualmente armazenados em nosso Discourse?

1 curtida

Você deve ficar bem, desde que o endereço de e-mail de um usuário permaneça o mesmo.

5 curtidas

Obrigado, infelizmente estou recebendo o erro de que o “endereço de e-mail principal já está em uso” ao testar meu novo provedor de SSO.

E tenho esta configuração implementada:
image

Isso ocorre porque você está tentando se inscrever quando deveria estar fazendo login (já que a conta já existe).

Mas eu não estou tentando me inscrever. Eu chego à página inicial e, em seguida, clico em "Entrar"; recebo a página de login do meu provedor de SSO, com a qual consigo autenticar com sucesso, mas depois de inserir minha senha, chego à página "vamos criar sua conta", mas eu nunca cliquei em "Inscrever-se".

Também tenho estas configurações implementadas que acho que deveriam ser apropriadas.

Para solucionar problemas, eu começaria apenas com as configurações necessárias. Por favor, confirme se um usuário com esse e-mail existe em ambos os lados.

Você preencheu esse e-mail manualmente no Discourse ou ele foi preenchido automaticamente pelo servidor SSO?

O que eu acredito que pode estar acontecendo aqui é que o e-mail está associado a um nome de usuário diferente no Discourse e seu servidor SSO está enviando um novo nome de usuário, causando esse conflito.

Você tem algo nos logs do Discourse relacionado a SSO? Isso pode ser útil para identificar a causa exata desse problema.

1 curtida

Obrigado. Verifiquei que consigo desativar o SSO/OpenID no Discourse e fazer login com o mesmo endereço de e-mail no Discourse. Verifiquei que essas mesmas credenciais funcionam com meu provedor de SSO.

Quando reativo o OpenID no Discourse, autentico com sucesso através do meu provedor de SSO, mas depois ainda chego à tela do Discourse onde ele quer criar uma conta. Todos os três valores nessa tela (e-mail, nome de usuário e nome completo) são preenchidos automaticamente pelo provedor de SSO.

E tentei desativar todas essas configurações acima, mas não houve mudança nesse comportamento.

1 curtida

Você poderia ir para discourse.example.com/logs e verificar se há avisos ou erros relacionados ao SSO?

1 curtida

Obrigado, sim, sem erros de SSO e sem erros de OIDC. E eu também ativei o log detalhado para OpenID.

1 curtida

Desculpe, não tenho nenhuma sugestão no momento. Responderei se encontrar algo.