Изначально я не мог создать роль уровня клиента с помощью keycloak-admin-client. Я решил попробовать сделать это через API с помощью Postman, чтобы убедиться, что и так не получится.
Думаю, я отправляю запрос правильно. Токен авторизации в заголовках и json-представление роли в теле.
введите здесь описание изображения
введите здесь описание изображения
Я утверждаю, что клиент существует , пользователь, которого я использую, имеет права администратора.
В моем Java-проекте это выглядит так:
public int createClient(String clientId) {
ClientRepresentation clientRepresentation = new ClientRepresentation();
clientRepresentation.setClientId(clientId);
clientRepresentation.setPublicClient(false);
clientRepresentation.setEnabled(true);
clientRepresentation.setServiceAccountsEnabled(true);
Response response = clientsManager.create(clientRepresentation);
int statusCode = response.getStatus();
log.info("HTTP Status of client creation = {}", statusCode);
if (statusCode == 201) fillClientWithRoles(clientId);
return statusCode;
}
public void fillClientWithRoles(String clientId) {
ClientResource clientResource = clientsManager.get(clientId);
log.info("client: {}", clientResource);
for (ClientRole role : ClientRole.values()) {
RoleRepresentation roleRepresentation = new RoleRepresentation();
roleRepresentation.setName(role.name());
roleRepresentation.setClientRole(true);
roleRepresentation.setComposite(false);
clientResource.roles().create(roleRepresentation);
}
}
Объект Keycloak настроен правильно. Я могу, например, успешно создавать новых пользователей
Перечитал кучу статей, обращался за советом к ботам, но так и не нашел решения, объясняющего причину Ошибка 404 в этом запросе и помогите решить проблему
2024-05-28T14:53:08.288+03:00 ERROR 14920 --- [portal-ms] [io-60005-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: jakarta.ws.rs.NotFoundException: HTTP 404 Not Found] with root cause
jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.handleErrorStatus(ClientInvocation.java:242) ~[resteasy-client-6.2.9.Final.jar:6.2.9.Final]
at org.jboss.resteasy.client.jaxrs.internal.proxy.extractors.DefaultEntityExtractorFactory$3.extractEntity(DefaultEntityExtractorFactory.java:41) ~[resteasy-client-6.2.9.Final.jar:6.2.9.Final]
at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invokeSync(ClientInvoker.java:136) ~[resteasy-client-6.2.9.Final.jar:6.2.9.Final]
at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:103) ~[resteasy-client-6.2.9.Final.jar:6.2.9.Final]
at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:102) ~[resteasy-client-6.2.9.Final.jar:6.2.9.Final]
at jdk.proxy2/jdk.proxy2.$Proxy192.create(Unknown Source) ~[na:na]
at ru.gnivc.portalservice.service.KeycloakService.fillClientWithRoles(KeycloakService.java:124) ~[classes/:na]
at ru.gnivc.portalservice.service.KeycloakService.createClient(KeycloakService.java:109) ~[classes/:na]
at ru.gnivc.portalservice.service.CompanyService.createCompany(CompanyService.java:27) ~[classes/:na]
at ru.gnivc.portalservice.controller.CompanyController.createCompany(CompanyController.java:22) ~[classes/:na
Подробнее здесь: https://stackoverflow.com/questions/785 ... level-role
Плащ-ключ. Не удалось найти клиента при попытке создать роль уровня клиента. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как найти ключ при расшифровке зашифрованного текста? (неизвестный ключ)
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как найти ключ при расшифровке зашифрованного текста? (неизвестный ключ)
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как найти ключ при расшифровке зашифрованного текста? (неизвестный ключ)
Anonymous » » в форуме Python - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-