Я пытаюсь взаимодействовать с Keycloak через его REST API. У меня есть главная область и пользователь-администратор по умолчанию, а также тестовая область. Во-первых, я получаю токен доступа к учетной записи администратора и тестовой области:
let data = {
grant_type : 'password',
client_id : 'test-realm',
username : 'admin',
password : 'admin'
};
let headers = {
'Content-Type': 'application/x-www-form-urlencoded'
};
axios.post(
'https://someurl.com:8080/auth/realms/master/protocol/openid-connect/token',
qs.stringify(data),
headers
)
Это нормально работает. Затем я пытаюсь позвонить, чтобы создать пользователя (или сделать что-нибудь еще), и получаю сообщение о несанкционированной ошибке 401:
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `Bearer ${accessToken}`
};
data = {
rep: {
email: "[email protected]",
username: "[email protected]"
},
path: 'test-realm'
};
axios.post('https://someurl.com:8080/auth/admin/realms/test-realm/users',
qs.stringify(data),
headers
)
Разве это не правильный способ включения токена? Токен доступа тот, который вы используете для аутентификации других вызовов API? Разве токен учетной записи администратора не должен работать для аутентификации вызовов другим клиентам с главной областью? Могу ли я изменить какой-то параметр в главной области в консоли администратора? Любая помощь приветствуется.