A partir del 24 de marzo, parece haber habido un cambio en la forma en que la API de Discourse responde a las solicitudes.
No se han realizado cambios en el código de nuestro lado y la Api-Key sigue siendo válida, pero uno de nuestros servicios backend que intenta obtener información del usuario comenzó a fallar al acceder a users/by-external/{id}.json.
Enviamos las cabeceras Api-Key y Api-Username con estas solicitudes, las cuales deberían ser requeridas, según la documentación. Estas solicitudes han estado funcionando bien durante años.
Ahora, todas las solicitudes realizadas a este endpoint fallan con un 403 y el cuerpo de la respuesta:
{
"errors": [
"No tiene permiso para ver el recurso solicitado."
],
"error_type": "invalid_access"
}
Esto también sucede si intento solicitar /u/{username}.json.
Sorprendentemente, cuando NO envío las cabeceras, estas solicitudes que, según la documentación, requieren estas cabeceras de autenticación, responden con los datos solicitados, como si estuvieran autenticadas.
También he intentado enviar una Api-Key incorrecta y la respuesta es un mensaje ligeramente diferente:
{
"errors": [
"No tiene permiso para ver el recurso solicitado. El nombre de usuario o la clave de la API no son válidos."
],
"error_type": "invalid_access"
}
Esto me dice que la clave está siendo aceptada, pero informa erróneamente que no otorga acceso al recurso, mientras que otorga acceso completo a las solicitudes no autenticadas.
También acabo de probar con una Api-Key nueva con opciones globales / todos los usuarios, y obtengo los mismos resultados.