Estoy encontrando lo que parece ser un SNAFU relacionado con SSO, a saber, la incapacidad de iniciar sesión en un foro comunitario de Discourse en particular solo cuando se intenta iniciar sesión desde una PC. De lo contrario, puedo acceder al foro libremente a través de, por ejemplo, un navegador web de Android o una aplicación móvil.
Después de unos días de solución de problemas desde ambos extremos, hemos concluido que es la serie de redirecciones que ocurren entre hubitat –\u003e portal.hubitat –\u003e discourse/session/sso_login?___ –\u003e de vuelta a hubitat, lo que apunta a un ID de SSO que quizás expiró durante mi ausencia de dos meses durante las vacaciones.
¿Hay alguna manera para mí, el usuario, de restablecer mis credenciales de SSO?
¿O hay un conjunto de pasos que puedo pasar al moderador del foro para que pueda hacer lo mismo para mi cuenta desde su extremo?
Hemos intentado todo lo demás (diferentes navegadores, borrar caché, eliminar cookies, bloquear terceros, modo incógnito, etc.) sin éxito.
Sí, gracias, y lamento parecer un novato al publicar en este hilo antiguo, jajaja. Este es uno de esos momentos de “estoy en mi límite a pesar de tener más de 50 años de experiencia en TI”.
No puedo evitar pensar que el problema se origina en esta recalcitrante cookie, ¿quizás caduca una sesión antes de que comience? SCREENSHOT
(Todavía no puedo publicar imágenes, así que usaré el enlace de la imagen temporalmente como marcador de posición)
Nota: Tomado de Chrome > Inspeccionar > Red > Cookies
Ni idea. Pero podrías comprobar la hora en tus servidores (¿o quizás en el PC… o son todos los PCs… todos los usuarios?). Si uno estuviera mal, podría explicar eso (pero realmente no lo sé).
Otras cosas que podría comprobar son que todo sea https y que esos certificados sean buenos.
Hasta ahora solo he hecho intentos en un solo PC (Windows 10) pero ahora intentaré con otros. Los problemas han afectado a otros miembros del foro en el pasado, pero solo temporalmente, y ahora mismo soy el único que se queja. (Yo mismo no soy propietario ni administrador del sitio).
Gracias por las sólidas sugerencias, que estaban entre las que ya había explorado:
Cookies
Caché
Cambiar navegador(es)
Suplantación de User Agent
Configuración Same-site / CORS
HTTPS habilitado únicamente
Certificados
Bloqueo de cookies de terceros
NTP/Hora/DST
Desafortunadamente, el administrador del sitio (Discourse Community) para Hubitat está fuera por más de 4 días en CES '23, pero promete revisar la configuración de SSO de su lado después. Informaré.
ACTUALIZACIÓN: Mientras intentaba aclarar aún más la diferencia de comportamiento percibida entre las plataformas de escritorio y móviles, desinstalé la “aplicación Hubitat” (que es poco más que un marcador glorificado y una interfaz de navegador) en mi dispositivo Android, y luego intenté acceder al sitio usando su navegador Chrome. La misma condición de error surgió. Todavía no puedo iniciar sesión. La actualización de la página de inicio de sesión produce:
“ERROR DE INICIO DE SESIÓN
Se agotó el tiempo de espera para el inicio de sesión de la cuenta, inténtelo de nuevo.”
Supongo que la “aplicación” había estado conservando alguna forma de clave(s) de autorización de antes de mi sabático, y quería eliminar esa variable.
Ahora estoy completamente convencido de que se trata de un problema del lado del servidor, a nivel de cuenta de usuario, y no de un problema del lado del cliente a nivel de dispositivo, plataforma o navegador. Quizás incluso un problema conocido del framework Discourse con una solución conocida(?), así que debo buscar en Google hasta que llegue la ayuda.
¿Sabes si alguien más en el sitio está teniendo el mismo problema?
Si los administradores del sitio aún no lo han hecho, podrían habilitar el verbose_discourse_connect_logging. Aquí hay algunos detalles sobre la depuración de problemas de DiscourseConnect con esa configuración: Depurar y solucionar problemas comunes de DiscourseConnect. Sin embargo, no estoy seguro de que ese tema cubra el problema que estás experimentando.
El mensaje de error completo que se muestra en los registros para esto será algo como: Nonce es incorrecto, se generó en una sesión de navegador diferente o ha caducado. Las posibles causas de esto son:
el nonce que se pasa de la aplicación a Discourse en tu intento de inicio de sesión no coincide con el nonce que se envió inicialmente de Discourse a la aplicación
el nonce se generó en una sesión diferente a la sesión desde la que estás iniciando sesión. Esto sucederá si la aplicación está realizando una solicitud en segundo plano para obtener el nonce de Discourse, en lugar de que sea generado por una redirección del navegador.
el usuario espera más de 10 minutos (el tiempo de caducidad del nonce) para completar el inicio de sesión
Supongo que te estás encontrando con el primer problema de esa lista.
En un giro irónico, ayer Google anunció la disponibilidad de su servicio de VPN junto con las suscripciones de One, que disfruto.
Después de instalar la VPN en Windows y habilitarla, de repente pude continuar con el inicio de sesión mencionado anteriormente. Cero problemas.
Quizás nunca sepa el mecanismo exacto involucrado, pero marco “Resuelto” con la esperanza de que alguien en una situación similar en el futuro pueda beneficiarse.