Gibt es eine Möglichkeit, auf die external_id aus dem SSO-Eintrag eines anderen Benutzers zuzugreifen?

Wir haben keine Probleme beim Zugriff auf die external_id aus dem SSO-Datensatz des aktuell angemeldeten Benutzers mit dem folgenden Ansatz:

api.getCurrentUser().external_id

Wir haben jedoch einige Schaltflächen/Links, wenn der aktuell angemeldete Benutzer die Profilzusammenfassung einer anderen Person anzeigt (z. B. Person X). Diese external_id ist die primäre Kennung, die auf unserer Website verwendet wird und die wir für einige Weiterleitungen und Aktionen von unserer Website aus verwenden werden. Die Verwendung der Admin-Benutzer-API funktioniert, aber offensichtlich nicht für Nicht-Admin-Benutzerkonten.

Ist dies möglich und wie?

Ich glaube, Sie möchten ein Plugin, das die external_id zum User-Serializer hinzufügt.

So etwas wie:

  add_to_serializer(:user, :external_id) do
     object.external_id
  end
3 „Gefällt mir“

Ich denke, es wäre so etwas wie:

# im after_initialize-Block des Plugins
after_initialize do

# Bearbeiten: Wahrscheinlich auch prüfen, ob `SiteSetting.enable_discourse_connect` `true` zurückgibt
  add_to_serializer(:user, :external_id) {object&.single_sign_on_record&.external_id}
end

Die external_id ist eine Eigenschaft des single_sign_on_record, nicht des user. Ich erinnere mich daran, weil ich etwas damit zu tun hatte:

3 „Gefällt mir“

Vielen Dank an alle für die Beiträge, wir haben dies über benutzerdefinierte Benutzerfelder gelöst, die während des Logins aus unserer Anwendung synchronisiert werden.

1 „Gefällt mir“

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