Olá,
Estamos utilizando SSO a partir do Drupal, e um comportamento não intencional aqui é que todos os usuários veem nosso servidor Drupal como conectado, além de sua sessão atual. Isso está causando muita preocupação e confusão em nossa comunidade, pois eles veem outro dispositivo conectado que não é o deles.
É possível desativar esse recurso ou, melhor ainda, podemos excluir determinados endereços IP para ocultar nosso servidor da lista de Dispositivos Usados Recentemente?
Já vi esse problema antes quando um site Drupal é o provedor de SSO para o Discourse. Não vi problemas semelhantes com outros provedores de SSO. Há algum módulo do Drupal que você está usando para SSO? Se houver, pode nos dizer onde encontrá-lo?
Você pode ocultar a seção “Dispositivos usados recentemente” com CSS. Isso pode ser uma boa solução temporária para o problema.
Obrigado pela dica, temporariamente ocultamos isso usando CSS. Mas seria bom saber se é configurável para ocultar apenas nosso servidor da lista, permitindo que os usuários continuem vendo seus dispositivos usados recentemente.
Sugiro entrar em contato com o desenvolvedor do Drupal — a última atualização desse módulo parece ter sido em 2015, com suporte listado à versão 1.2.0.beta5 do Discourse (lançada por nós em janeiro de 2015). Embora eu fique feliz em ver que ele ainda funciona, não é surpreendente que existam alguns problemas menores.
Vale ressaltar também que o módulo do Drupal mencionado acima está disponível apenas para o Drupal 7, que atingirá o fim do suporte em novembro de 2021. (Não é amanhã, mas já está perto o suficiente.)
Dê uma olhada rápida no módulo Drupal Discourse. Não está claro para mim o que está causando o problema, mas, por algum motivo, o User Agent e o IP do cliente estão sendo definidos com os valores do servidor Drupal em vez do IP e do User Agent do usuário durante o login SSO. Isso pode estar relacionado à forma como o método drupal_goto funciona.
Uma coisa que notei no módulo é que ele oferece funcionalidades para exibir conteúdo do Discourse no Drupal. Para isso, ele faz solicitações de API ao Discourse com credenciais de API incluídas na string de consulta. Esse tipo de autenticação de API foi descontinuado pelo Discourse. Em algum momento no futuro próximo, esse tipo de solicitação deixará de funcionar. Se você estiver usando o módulo para exibir conteúdo do Discourse no seu site Drupal, talvez precise investigar mais a fundo.
Este módulo foi atualizado pela última vez em 2015. Existe um módulo Drupal Discourse SSO que foi atualizado mais recentemente: https://www.drupal.org/project/discourse_sso. Acredito que ele forneça apenas funcionalidade SSO. Não parece ter nenhum código que adicione conteúdo do Discourse a um site Drupal.
Obrigado pelas informações adicionais, Simon. De fato, estamos fazendo exatamente isso: a seção de comentários do nosso blog usa um tópico do Discourse para que os usuários possam discutir, e o conteúdo desse tópico também é exibido no artigo do blog de volta no Drupal.
Sim, o exemplo de solicitação POST apresentado no início desse tópico contém as informações de que você precisa. Para corrigir o módulo Drupal Discourse a fim de usar autenticação baseada em cabeçalho, seria necessária apenas uma pequena alteração em seu código.
Considerando que seu site Discourse está atualizado, provavelmente há um aviso sobre o uso de métodos de autenticação descontinuados para solicitações de API no painel de administração do seu Discourse.