Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeyCloak: Permissions über CURL nach KeyCloak importieren #170

Open
rowe42 opened this issue Feb 6, 2018 · 3 comments
Open

KeyCloak: Permissions über CURL nach KeyCloak importieren #170

rowe42 opened this issue Feb 6, 2018 · 3 comments
Assignees
Labels
Milestone

Comments

@rowe42
Copy link
Owner

rowe42 commented Feb 6, 2018

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.

@rowe42 rowe42 added the backend label Feb 6, 2018
@rowe42 rowe42 added this to the RefArch_2.0 milestone Feb 6, 2018
@rowe42 rowe42 self-assigned this Feb 6, 2018
@rowe42
Copy link
Owner Author

rowe42 commented Feb 6, 2018

@rowe42
Copy link
Owner Author

rowe42 commented Mar 29, 2018

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://domain:port/auth/admin/realms//clients//authz/resource-server
und bekommt

{
  "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.

@rowe42
Copy link
Owner Author

rowe42 commented Mar 29, 2018

Habe jetzt außerdem noch ein Issue bei KeyCloak erstellt:
https://issues.jboss.org/browse/KEYCLOAK-7026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants