Llamada a la API con external_id

¿Es posible utilizar el external_id del SSO para llamar a la API y responder a las publicaciones, para evitar tener que determinar primero el nombre de usuario del usuario a través del external_id cada vez?

No, eso no es posible.

Sin embargo, no tienes que determinarlo “cada vez”, podrías decidir almacenarlo en caché en el lado de la llamada.

Si el usuario A cambia su nombre a través de Discourse, y justo en ese momento el usuario B también cambia su nombre al nombre anterior de A, ¿existe la posibilidad de que al obtener el nombre de A a través de la caché, la respuesta del usuario A se vincule al usuario B?

Sí, aunque eso suena un poco teórico, es ciertamente posible. Sería mejor si uno pudiera autenticarse contra un ID de usuario.

¡Establezca un webhook en user.updated para vaciar su caché para ese usuario!

Sí, esta debería ser una solución bastante buena. Gracias.
Pero ¿existe la posibilidad de que el webhook pierda paquetes debido a fluctuaciones de red, lo que provoque que la caché no se actualice?
Aunque esto se puede resolver hasta cierto punto mediante el TTL de la caché, el problema aún puede ocurrir antes de que la caché TTL caduque.
Al final, la forma más segura es obtener el nombre de usuario exacto a través de external_id.
Por supuesto, estas son solo mis conjeturas teóricas personales.