Não consigo fazer login pelo navegador do PC ou Android, mas consegui pelo "App"

Estou encontrando o que parece ser um SNAFU relacionado a SSO, especificamente uma incapacidade de fazer login em um determinado fórum comunitário Discourse apenas quando o login é tentado a partir de um PC. Caso contrário, posso acessar o fórum livremente através, por exemplo, do navegador web Android ou do aplicativo móvel.

Após alguns dias de solução de problemas de ambas as partes, concluímos que é a série de redirecionamentos que ocorrem entre hubitat → portal.hubitat → discourse/session/sso_login?___ → de volta para hubitat, apontando assim para um ID de SSO que talvez tenha expirado durante minha ausência de dois meses nas festas de fim de ano.

Existe alguma maneira para mim, o usuário, redefinir minhas credenciais de SSO?
Ou existe um conjunto de etapas que posso repassar ao moderador do fórum para que ele possa fazer o mesmo para minha conta a partir do lado dele?

Tentamos tudo mais (navegadores diferentes, limpeza de cache, exclusão de cookies, bloqueio de terceiros, modo anônimo, etc.) sem sucesso.

OBRIGADO! - Tim

Olá e bem-vindo @TimGNO :slight_smile:

Seu problema não parece estar relacionado a este bug. Gostaria que eu movesse sua postagem para um tópico próprio?

Sim, obrigado, e desculpe por parecer um novato postando neste tópico antigo, lol. Este é um daqueles momentos de “estou no meu limite, apesar de ter mais de 50 anos de experiência em TI”.

:smiley:

2 curtidas

Não consigo deixar de pensar que o problema decorre deste cookie recalcitrante, talvez expirando uma sessão antes que ela comece?
SCREENSHOT
(Ainda não consigo postar imagens, então estou usando o link da imagem temporariamente como um espaço reservado)

Nota: Tirado do Chrome > Inspecionar > Rede > Cookies

Não sei. Mas você poderia verificar a hora nos seus servidores (ou talvez no PC - ou são todos os PCs - todos os usuários)? Se um estivesse errado, isso poderia explicar (mas eu realmente não sei).

Outras coisas que eu poderia verificar são que tudo é https e que esses certificados são bons.

Até agora, fiz apenas tentativas em um único PC (Windows 10), mas agora tentarei em outros. Problemas afetaram outros membros do fórum no passado, mas apenas temporariamente, e no momento sou o único reclamando. (Eu mesmo não sou proprietário ou administrador do site.)

Obrigado pelas sugestões sólidas, que estavam entre os itens que já explorei:

  • Cookies
  • Cache
  • Troca de navegador(es)
  • Falsificação de User Agent
  • Configurações Same-site / CORS
  • HTTPS-only ativado
  • Certificados
  • Bloqueio de cookies de terceiros
  • NTP/Hora/Horário de verão

Infelizmente, o administrador do site (Discourse Community) para o Hubitat está fora por mais de 4 dias na CES '23, mas promete verificar as configurações de SSO depois. Relatarei.

ATUALIZAÇÃO: Ao tentar desambiguar ainda mais a diferença percebida no comportamento entre plataformas desktop e móveis, desinstalei o “Hubitat app” (que é pouco mais do que um marcador e front-end de navegador glorificado) no meu dispositivo Android, e então tentei acessar o site usando seu navegador Chrome. A mesma condição de erro surgiu. Ainda não consigo fazer login. A atualização da página de login resulta em:

“ERRO DE LOGIN
O login da conta expirou, por favor, tente fazer login novamente.”

Eu suponho que o “app” estava retendo alguma forma de chave(s) de autorização de antes do meu período sabático, e queria eliminar essa variável.

Agora estou completamente convencido de que este é um problema do lado do servidor, em nível de conta de usuário, e não um problema do lado do cliente em nível de dispositivo, plataforma ou navegador. Talvez até mesmo um soluço bem conhecido do framework Discourse com uma solução conhecida(?), então terei que pesquisar no Google até que a ajuda chegue.

1 curtida

Você sabe se mais alguém no site está enfrentando o mesmo problema?

Se os administradores do site ainda não o fizeram, eles poderiam habilitar o verbose_discourse_connect_logging. Alguns detalhes sobre a depuração de problemas do DiscourseConnect com essa configuração estão aqui: Depurar e corrigir problemas comuns do DiscourseConnect. Não tenho certeza se esse tópico cobre o problema que você está enfrentando.

A mensagem de erro completa que é mostrada nos logs para isso será algo como: Nonce incorreto, foi gerado em uma sessão de navegador diferente ou expirou. Possíveis causas disso são:

  • o nonce que é passado do aplicativo para o Discourse em sua tentativa de login não corresponde ao nonce que foi inicialmente enviado do Discourse para o aplicativo
  • o nonce foi gerado em uma sessão diferente da sessão da qual você está fazendo login. Isso acontecerá se o aplicativo estiver fazendo uma solicitação em segundo plano para obter o nonce do Discourse, em vez de tê-lo gerado por um redirecionamento do navegador.
  • o usuário espera mais de 10 minutos (o tempo de expiração do nonce) para concluir o login

Eu acho que você está enfrentando o primeiro problema dessa lista.

3 curtidas

“RESOLVIDO”

Em uma reviravolta irônica, ontem o Google anunciou a disponibilidade de seu serviço de VPN em conjunto com as assinaturas do One, que por acaso eu gosto.

Após instalar a VPN no Windows e ativá-la, pude subitamente prosseguir com o login mencionado acima. Zero problemas.

Talvez eu nunca saiba o mecanismo exato envolvido, mas marco como “Resolvido” na esperança de que alguém em situação semelhante no futuro possa se beneficiar.