Open rowe42 opened 6 years ago
@xdoo @Baumfrosch @dragonfly28 @ejcsid
Ich habe recherchiert. Man muss zunächst ein Access-Token für den Admin besorgen:
https://www.keycloak.org/docs/3.3/server_development/topics/admin-rest-api.html
Dann kann man (wenn man das Access-Token im Header mitschickt) ein GET auf folgende URL machen:
http://
{
"id": "37d81f8c-f6f9-4edf-897b-a1c2891e80ab",
"clientId": "37d81f8c-f6f9-4edf-897b-a1c2891e80ab",
"name": "openIdDemo",
"allowRemoteResourceManagement": true,
"policyEnforcementMode": "ENFORCING",
"resources": [],
"policies": [],
"scopes": []
}
Das ist aber fehlerhaft, denn der getestete Client hat eigentlich Resources und Policies.
Auch wenn ich an die o.g. URL einen PUT mache, z.B. mit diesem Body
{
"id": "37d81f8c-f6f9-4edf-897b-a1c2891e80ab",
"clientId": "37d81f8c-f6f9-4edf-897b-a1c2891e80ab",
"name": "openIdDemo",
"allowRemoteResourceManagement": false,
"policyEnforcementMode": "ENFORCING",
"resources": [ { "name": "abc", "type": "xyz" } ],
"policies": [],
"scopes": []
}
wird das zwar offenbar validiert (denn wenn ich eine falsche Struktur innerhalb von "resources" angebe, gibt es bei KeyCloak eine Exception), aber nicht ausgeführt.
Der PUT ist aber grundsätzlich korrekt, denn auf diese Weise kann ich bspw. allowRemoteResourceManagement
auf true
setzen.
Ich habe unseren KeyCloak-KV gebeten, eine Anfrage an RedHat hierzu abzusetzen.
Habe jetzt außerdem noch ein Issue bei KeyCloak erstellt: https://issues.jboss.org/browse/KEYCLOAK-7026
Im Rahmen von Issue #124 haben wir diskutiert, dass Barrakuda die Permissions generieren soll. Eine entsprechende Datei habe ich im Issue referenziert (liegt im Wiki).
In diesem Issue möchte ich nun diskutieren, ob die Permissions-Datei von Hand über die KeyCloak-Oberfläche ins KeyCloak eingespielt werden soll oder durch ein Curl-Skript.
Dazu muss ich zunächst eruieren, wie ein solcher CURL-Aufruf aussieht und welche Berechtigungen etc. dafür nötig sind.