User Session um zusätzliche Organisationen/Rollen/Rechte ergänzen

Diese zusätzlichen Informationen können bei der Anmeldung eines Benutzers von einem HTTP Endpunkt abgefragt und der User Session zugewiesen werden.

Konfiguration

Die folgenden Konfigurationsparameter stehen jeder Backend Connection vom Typ identity_provider zur Verfügung.

Name (Key) Gruppe Typ Beschreibung

IdentityProvider_AdditionalInfoEnabled
(identityProvider.additionalInfoEnabledName)

additionalInfo

false

Abholen der Zusatzinformationen aktivieren/deaktivieren (Default : false)

IdentityProvider_AdditionalInfoURL
(identityProvider.additionalInfoUrl)

additionalInfo

https://server:port/endpoint

URL zu dem Endpunkt welcher die Zusatzinformationen zur Verfügung stellt

IdentityProvider_AdditionalInfoEntriesPrefix
(identityProvider.additionalInfoEntriesPrefix)

additionalInfo

x-

Prefix für die zurückgelieferten Werte (siehe unten bei Ergebnis)

Endpunkt

Der aufzurufende Endpunkt muss folgende Eigenschaften besitzen:

  • Er muss vom BPC aus erreichbar sein

  • Er muss ein JSON per HTTP POST Request entgegennehmen können

  • Er muss im Erfolgsfall den Statuscode 200 zurückliefern

  • Die Antwort muss JSON sein und der unten aufgeführten Struktur entsprechen

Übergebenes JSON

Beim Aufruf des Endpunktes per HTTP POST wird der Name des Benutzers - welcher sich gerade angemeldet hat - übergeben. Für diesen sind die Zusatzinformationen zurückzuliefern.

{
  "username": "bpcadmin"
}

JSON Response

Die zusätzlichen Organisationen sind im Feld "organisations", die zusätzlichen Rollen im Feld "roles" und die zusätzlichen Rechte im Feld "rights" zurückzuliefern.

{
  "organisations":["org_a","org_b","org_c"],
  "roles":["role_1","role_2","role_3"],
  "rights":["right_x","right_y","right_z"]
}

Ergebnis

Dem Benutzer sind nun die zusätzlichen Organisationen, Rollen und Rechte zugewiesen. Damit es hier zu keinem Missbrauch kommt, werden die übergebenen Werte mit dem Prefix x- (siehe Konfiguration oben) versehen. Bei dem Beispiel oben bekommt der Benutzer bpcadmin damit zusätzlich die Organisationen x-org_a, x-org_b und x-org_c zugewiesen. Das Gleiche wird für die Rollen und Rechte durchgeführt.


Keywords: