¿Cómo usar Discourse Connect (SSO) para actualizar avatar, nombre de usuario y nombre?

He podido configurar Discourse SSO en https://forum.mycoralapp.com

Y puedo crear el usuario la primera vez, con su propio correo electrónico, nombre, nombre de usuario y avatar.

Pero la pregunta es, ¿cómo puedo actualizarlos una vez que cambian de nuestro lado (en la aplicación)? Cierro sesión y vuelvo a iniciar sesión con SSO, enviando un nombre, nombre de usuario y foto diferentes, pero los antiguos permanecen. También desmarqué estas cosas en el administrador, lo que parece que debería anular al menos el avatar, pero no sucede nada:

¿El nombre y el nombre de usuario siempre están disponibles para ser cambiados? ¿Por qué no se menciona junto con “avatar”? En la práctica, sin embargo, NADA cambia.

1 me gusta

¿Puedes compartir el código de Discourse Connect que está ejecutando tu aplicación? Parece que no está enviando la información de la manera correcta.

2 Me gusta

Algo como esto: Here is some PHP code and you'd do similar for iOS and Android. Remember to intercept the URL request in WebView! · GitHub

Es suficiente para crear la cuenta, con la información correcta. Pero no la anula más tarde en inicios de sesión posteriores.

Según esto tengo que entrar en la aplicación Rails y configurar cosas como SiteSetting.discourse_connect_overrides_avatar. No sé si es porque son instrucciones antiguas, pero el panel de control de administración ni siquiera contiene cosas como “anular nombre” y “anular nombre de usuario”.

2 Me gusta

@EGreg ¿encontraste una solución para esto todavía?
Estoy enfrentando el mismo problema con un discourse autoalojado.
El inicio de sesión SSO no parece anular el nombre de usuario para las cuentas existentes que existían antes de implementar SSO, a pesar de que la configuración ‘anular nombre de usuario’ está habilitada.

@pfaffman me ayudó y creo que funcionó. Tengo que comprobarlo de nuevo. ¿Jay?

1 me gusta

Lo siento. No sé nada sobre cómo se conectan las cuentas existentes y si se les cambia el nombre o habría respondido en el otro tema.

1 me gusta

Mirando la publicación original de este tema, veo que la configuración auth overrides username no se muestra como habilitada en la captura de pantalla. Esa configuración debe estar habilitada para que DiscourseConnect anule el nombre de usuario. Sería genial si la página de configuración dejara más claro que estas tres configuraciones están relacionadas con DiscourseConnect:

  • auth overrides email
  • auth overrides username
  • auth overrides name

Además, asegúrate de que los usuarios cierren sesión en Discourse y vuelvan a iniciar sesión a través de DiscourseConnect. Si no cierran sesión en Discourse, el cambio no tendrá efecto. Puedes solucionar ese problema haciendo una llamada a la API a la ruta sync_sso en nombre del usuario: Sync DiscourseConnect user data with the sync_sso route.

3 Me gusta

Gracias a todos.
Volví a intentarlo con un nombre de usuario diferente y funcionó.
Supuse que estaba relacionado con las reglas de nombres de usuario de Discourse. Como el nuevo nombre de usuario comenzaba con un guion bajo, era inválido según las reglas de Discourse y esa podría ser la razón por la que no se reflejaba en el foro.

2 Me gusta