Saludos, espero obtener alguna orientación. Mi SSO dejó de funcionar esta semana y pensé que había solucionado todo ayer (estaba funcionando, lo juro
Nota: Revisé “Nuevos usuarios” de ayer y de hoy, y tenía nuevos usuarios en ambos días (después de solucionarlo), ahora está roto de nuevo…). Lamentablemente, las actualizaciones que realicé no están funcionando hoy.
Problema: Los usuarios no pueden crear nuevas cuentas y los usuarios que cierran sesión no pueden volver a iniciarla.
Noté que mi servidor de Discourse tiene errores 400 en las siguientes rutas:
403: GET: discourse-url/users/by-external/USER-ID.json?
Nota: Recientemente encontré en la documentación de la API que esta ruta no existe (aunque ha funcionado), parece que la ruta es: https://discourse.example.com/u/by-external/{external_id}.json
404: POST: discourse-url/admin/users/sync_sso?
La razón por la que el signo ? está al final es porque tengo un campo de parámetro opcional en una función que genera URLs; para estas dos rutas, todos los datos se envían en el cuerpo del formulario o en los encabezados.
Estoy utilizando la siguiente biblioteca.
Lo que actualicé (y lo que pensé que solucionó el problema):
En todas mis solicitudes, estaba enviando la Api-Key y el Api-Username como parámetros de consulta. Durante los últimos meses, noté en mi panel de administración una advertencia que indicaba que estaba utilizando encabezados obsoletos en mi solicitud. Me vinculó a esta publicación y los detalles clave son los siguientes:
¡Advertencia de obsolescencia!
El 6 de abril de 2020 eliminamos el soporte para toda autenticación basada en encabezados no HTTP (excluyendo algunas rutas de RSS, recepción de correo e ICS). Esto significa que las solicitudes de API que tengan unapi_keyy unapi_usernameen los parámetros de consulta o en el cuerpo HTTP de la solicitud dejarán de funcionar pronto. Consulte el ejemplo de solicitud cURL a continuación para saber cómo actualizar sus solicitudes de API y utilizar los encabezados HTTP para la autenticación.
Actualicé todas mis solicitudes; ahora todas tienen la Api-Key y el Api-Username en el encabezado y el tipo de contenido está configurado como datos de formulario multipart.
Si alguien puede ofrecer orientación sobre qué investigar para depurar este problema, lo agradecería mucho. Estoy casi 100% seguro de que esto funcionaba al final de mi jornada laboral ayer; pude iniciar y cerrar sesión en mi cuenta y pude crear nuevas cuentas.
Por favor, avísenme si necesitan más información. ¡Gracias!