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 |
additionalInfo |
false |
Abholen der Zusatzinformationen aktivieren/deaktivieren (Default : false) |
IdentityProvider_AdditionalInfoURL |
additionalInfo |
https://server:port/endpoint |
URL zu dem Endpunkt welcher die Zusatzinformationen zur Verfügung stellt |
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.