6

Keycloak a Admin REST API -- Vytvárame používateľov | robonovotny

 1 year ago
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.
neoserver,ios ssh client

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 (username) a heslo (password).

Keďže používame flow ROPC, typ grantu je password.

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á.

postman

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.

keycloak-admin.http

>> Home


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK