¿Página de perfil de usuario por ID?

¿Existe una ruta para acceder al perfil público de un usuario utilizando su ID?

Conozco: https://meta.discourse.org/u/{username}/summary
Y necesito: https://meta.discourse.org/u/{user-id}/summary

Propósito: Quiero que los perfiles en mi sitio principal enlacen a los perfiles en mi sitio de Discourse. El problema es que inicialmente no estaba usando SSO, por lo que los nombres de usuario no son consistentes entre mis dos sitios y se actualizan cada vez que el usuario cierra y vuelve a iniciar sesión. Intenté “limpiar” los IDs de usuario antiguos solo para darme cuenta de que no hay un punto final para actualizar los nombres de usuario (solo se puede actualizar el correo electrónico y la imagen de perfil).

Como los nombres de usuario están cambiando, guardé el id en su lugar, pero ahora me doy cuenta de que no puedo generar directamente una URL para acceder a su perfil con el ID. Tendría que realizar solicitudes web adicionales, lo cual estoy tratando de evitar. De lo contrario, creo que tendría que llamar al punto final by-external una vez para obtener el nombre de usuario, pero una redirección sería ideal.

If you’re trying let users get their own profile, yo can use /my/summary/

https://meta.discourse.org/my/summary

Thanks but no, I want any user viewing a profile on my main site, to be able to click a link on that page to take them to the corresponding profile on the discourse page.

It would be great if there were a PUT endpoint for username. The use case is sites like mine which transitioned to SSO, to get all the usernames synced. Then my plan A would have just worked.

My fallback plan I think is going to be to add another column to store discourse_username also in my DB along with discourse_id. This way, I can directly to their profile with username. The downside is that this username can change. So I need to daily scan all users to re-sync.

You can make a POST request to /admin/users/sync_sso for this. If you are using the Discourse API gem, you can use the gem’s sync_sso method for this. If you are not using the gem, see Sync DiscourseConnect user data with the sync_sso route for details about setting up the request.