Keycloak a Admin REST API -- Vytvárame používateľov | robonovotny
source link: https://novotnyr.github.io/scrolls/keycloak-admin-rest-api/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Keycloak a Admin REST API
Keycloak a Admin REST API – Vytvárame používateľov
2023/04/01
Ako pristupovať k administrátorskému REST API v Keycloaku? Ako sa voči nemu autorizovať, a ako je možné napríklad vytvárať používateľov inak než cez administrátorskú konzolu?
Administrátorské REST API Keycloaku
Keycloak má k dispozícii administrátorské REST API, ktorým možno pristupovať k jednotlivým entitám pomocou programátorských nástrojov.
Autorizácia
REST API je implementované ako štandardný OAuth Resource Server ochránený bežnými flowmi OAuthu.
Ak sme si istí, že k REST API pristupujeme z uzavretého klienta, ktorému vieme zdôveriť login a heslo, môžeme použiť na autorizáciu flow ROPC.
1 | Identifikátor klienta OAuth je admin-cli .
Posielame login ( Keďže používame flow ROPC, typ grantu je |
2 | Výsledok z odpovede typu JSON vyberá atribút access_token , ktorý obsahuje token JWT s autorizačnými údajmi. |
Konfigurácia pre Postman-a je analogická.
Volanie API
Volanie API využíva klasické priloženie tokenu JWT do hlavičky Authorization
ku hodnote Bearer
.
Vytváranie používateľa
Používateľa vytvoríme podľa dokumentácie: stačí vhodne pripraviť JSON do požiadavky a odhaliť adresu URL.
Ukážka pre klienta v HTTP IntelliJ IDEA:
1 | Vytvárame používateľské konto, čo je entita typu UserRepresentation. |
2 | Pripravíme mu aj heslo eolooRup7pahngief5Fe , ktoré nie je dočasné, aby sa ním používateľ mohol okamžite prihlásiť. |
3 | Odpoveďou bude stavový kód 201 (Created) a hlavička Location s identifikátorom nového používateľského konta v podobe URL, napríklad http://localhost:8080/admin/realms/master/users/212aa1c7-667e-4c2b-a99b-4c050ea94644 |
Informácie o používateľovi
Informácie o používateľovi vieme získať z príslušnej URL, ak máme identifikátor používateľa vo formáte UUID.
Napríklad:
http://localhost:8080/admin/realms/master/users/212aa1c7-667e-4c2b-a99b-4c050ea94644
Odpoveďou je JSON:
REST API
Celý skript pre HTTP klienta pre IntelliJ IDEA.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK