¿Hay alguna manera de que podamos acceder al external_id del registro SSO de otro usuario?

No tenemos ningún problema para acceder a external_id del registro SSO del usuario actualmente conectado utilizando el siguiente enfoque:

api.getCurrentUser().external_id

Sin embargo, tenemos algunos botones/enlaces cuando el usuario actualmente conectado está viendo el resumen del perfil de otra persona (por ejemplo, Persona X). Este external_id es el identificador principal utilizado en nuestro sitio web, que utilizaremos para algunas redirecciones y acciones desde nuestro sitio web. El uso de la API de usuario administrador funciona, pero obviamente no para cuentas de usuario no administradoras.

¿Es esto posible y cómo?

Creo que quieres un plugin que añada el external_id al serializador de usuario.

Algo como:

  add_to_serializer(:user, :external_id) do
     object.external_id
  end
3 Me gusta

Creo que sería algo como:

# en el bloque after_initialize del plugin
after_initialize do

# Editar: probablemente también verificar que `SiteSetting.enable_discourse_connect` devuelva `true`
  add_to_serializer(:user, :external_id) {object&.single_sign_on_record&.external_id}
end

El external_id es una propiedad de single_sign_on_record y no del user. Lo recuerdo porque tuve algo que ver con:

3 Me gusta

Gracias a todos por sus aportaciones, terminamos haciendo esto a través de campos de usuario personalizados que se sincronizan desde nuestra aplicación durante el inicio de sesión.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.