Esiste un modo per accedere allexternal_id dal record SSO di un altro utente?

Non abbiamo problemi ad accedere all’external_id dal record SSO dell’utente attualmente connesso utilizzando il seguente approccio:

api.getCurrentUser().external_id

Tuttavia, abbiamo alcuni pulsanti/link quando l’utente attualmente connesso sta visualizzando il riepilogo del profilo di un altro utente (ad esempio, Persona X). Questo external_id è l’identificatore primario utilizzato sul nostro sito web che utilizzeremo per alcuni reindirizzamenti e azioni dal nostro sito web. L’utilizzo dell’API dell’utente amministratore funziona, ma ovviamente non per gli account utente non amministratori.

È possibile e come?

Penso che tu voglia un plugin che aggiunga l’external_id al serializzatore utente.

Qualcosa come:

  add_to_serializer(:user, :external_id) do
     object.external_id
  end
3 Mi Piace

Penso che sarebbe qualcosa del tipo:

# nel blocco after_initialize del plugin
after_initialize do

# Modifica: probabilmente anche verificare che `SiteSetting.enable_discourse_connect` restituisca `true`
  add_to_serializer(:user, :external_id) {object&.single_sign_on_record&.external_id}
end

L’external_id è una proprietà di single_sign_on_record non dell’user. Ricordo questo perché ho avuto a che fare con:

3 Mi Piace

Grazie a tutti per i contributi, alla fine abbiamo fatto così tramite campi utente personalizzati che vengono sincronizzati dalla nostra applicazione durante l’accesso.

1 Mi Piace

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