Создать пользователя на Keycloack из команды curl - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время я пытаюсь создать пользователя из команды curl с помощью Keycloak Admin REST API.Я могу аутентифицировать себя как администратора, у меня есть хороший ответ, но когда я хочу создать пользователя, у меня появляется ошибка вроде: «404 - Not Found».

Вот мои команды curl:

#!/bin/bash

echo "* Request for authorization"
RESULT=`curl --data "username=pierre&password=pierre&grant_type=password&client_id=admin-cli" http://localhost:8080/auth/realms/master/protocol/openid-connect/token`

echo "\n"
echo "* Recovery of the token"
TOKEN=`echo $RESULT | sed 's/.*access_token":"//g' | sed 's/".*//g'`

echo "\n"
echo "* Display token"
echo $TOKEN

echo "\n"
echo " * user creation\n"
curl   http://localhost:8080/apiv2/users -H "Authorization: bearer $TOKEN"   --data '{"firstName":"xyz","lastName":"xyz", "email":"demo2@gmail.com", "enabled":"true"}'

Я использовал официальную документацию API, расположенную по этому адресу: https://www.keycloak.org/docs-api/4.4/rest-api/index.html

enter image description here

У меня есть эта ошибка: enter image description here

мое царство хорошо enter image description here

Как я могу это исправить?Заранее спасибо.

Ответы [ 2 ]

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

попробуйте, я добавил заголовок типа контента и изменил URL:

#!/bin/bash

echo "* Request for authorization"
RESULT=`curl --data "username=admin&password=Pa55w0rd&grant_type=password&client_id=admin-cli" http://localhost:8080/auth/realms/master/protocol/openid-connect/token`

echo "\n"
echo "* Recovery of the token"
TOKEN=`echo $RESULT | sed 's/.*access_token":"//g' | sed 's/".*//g'`

echo "\n"
echo "* Display token"
echo $TOKEN

echo "\n"
echo " * user creation\n"
curl -v http://localhost:8080/auth/admin/realms/apiv2/users -H "Content-Type: application/json" -H "Authorization: bearer $TOKEN"   --data '{"firstName":"xyz","lastName":"xyz", "email":"demo2@gmail.com", "enabled":"true"}'
0 голосов
/ 22 сентября 2018

Согласно документации Keycloak ( Администратор сервера> Администратор CLI> Основные операции и URI ресурсов ), конечная точка users должна быть:

http://localhost:8080/auth/admin/realms/apiv2/users

Поэтому, пожалуйста, исправьте ваш последний URL соответствующим образом.

Вы также можете найти полный пример по выпуску JIRA Keycloak # 5383 .Обратите внимание, что он также явно добавляет заголовок типа содержимого:

Content-Type: application/json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...