Как получить пользователей из Keycloak REST API? - PullRequest
2 голосов
/ 05 апреля 2019

Привет. Я пытаюсь использовать API Keycloak, но не очень хорошо понимаю, как он работает.Я хочу получить всех пользователей царства.Поэтому я сначала получаю токен, используя эту конечную точку: /realms/master/protocol/openid-connect/token с этими параметрами в теле запроса:

  • client_id
  • grant_type
  • username
  • пароль
  • client_secret

Первый вопрос: каким клиентом я должен пользоваться?

Затем я вызываю эту конечную точку: /admin/realms/master/users с токеном в Авторизациизаголовок, но я получаю код состояния 403, и я не понимаю, почему.

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 апреля 2019

403 = возможно у вас нет прав на просмотр пользователей.Вам необходимо определить Client Roles для используемого пользователя и назначить view-users роль:

enter image description here

0 голосов
/ 09 апреля 2019

Вам нужно два шага

  • сначала получите токен доступа от клиента admin-cli главной области

  • второй вызов API admin api с токеном доступа, установите Bearer в качестве префикса в Заголовок авторизации.

# get an access token
curl -X POST \
  https://<HOST>/auth/realms/master/protocol/openid-connect/token \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'grant_type=password&username=<USERNAME>l&password=<PASSWORD>&client_id=admin-cli'

# get all users of gateway realm, use the token from above and use Bearer as prefix
curl -X GET \
  https://<HOST>/auth/admin/realms/gateway/users \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkI...' \
  -H 'cache-control: no-cache'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...