-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Create/Update/Deletenew realms by sys- Each
Realmshould have it own Admin that could perform all operations overUser&&Clients, however system admin could fix everything - Admin API must be compatible with
KeyCloakAPI.KeyCloakadminAPIis described here. API specification is shown here
ONE Thing that MUST be taken into account - ServerSettings.AdminUrlPrefix property, therefore base URL looks as follows: consider e35yhu89 is a prefix, baseUrl in this case - http://127.0.0.1/e35yhu89
List of methods that will be implemented in this issue:
- Realm API -
{base url}/admin/realms
GET ~/admin/realms, returns array ofRealmRepresentationGET ~/admin/realms/{realm}return singleRealmRepresentationPOST /admin/realms<- in docs it is said: "...Import a realm. Imports a realm from a full representation of that realm..."DELETE /admin/realms/{realm}removes a realm
- Client API
GET /admin/realms/{realm}/clientsget realm Clients as array ofClientRepresentationGET /admin/realms/{realm}/clients/{client-uuid}get single Client asClientRepresentationPOST /admin/realms/{realm}/clientswith client representation in a bodyPUT /admin/realms/{realm}/clients/{client-uuid}withClientRepresentationin a bodyDELETE /admin/realms/{realm}/clients/{client-uuid}
- User API
GET ~/admin/realms/{realm}/usersreturns **array ** ofUserRepresentationGET /admin/realms/{realm}/users/{user-id}return singleUserRepresentationPOST /admin/realms/{realm}/usersUserRepresentationpasses through the bodyDELETE /admin/realms/{realm}/users/{user-id}
API must be compatible with KeycloakAdmin API For testing compatibility it is possible to take nerzal/go-cloak package for testing Admin API through this package
RealmRepresentation, UserRepresentation and ClientRepresentation must be configurable as JSON Path which is used to create from data objects, config probably must be stored in data.Realm
Additionally there are RealmOwner and RealmAdmin that could be configured, therefore we should have additional methods (own, not-compatible with KeyCloak) for this (but probably there are Keycloak admin method that are similar to listed below):
PUT /admin/realms/{realm}/ownerto set a realm ownerPUT /admin/realms/{realm}/adminsto set a realm admins
Metadata
Metadata
Assignees
Labels
Type
Projects
Status