【问题标题】:Keycloak add attributes to user via API and 409 errorKeycloak 通过 API 和 409 错误向用户添加属性
【发布时间】:2020-12-31 14:34:52
【问题描述】:

我正在尝试向 Keycloak:10.0.1 的现有用户添加属性。

  @Override
public void addAttribute(String userId, String value) throws UserDoesNotExistException {
    log.info("Trying add attribute to user: " + userId);
    Keycloak keycloak = getClient();
    RealmResource realmResource = keycloak.realm(configuration.getKeycloakRealm());
    final UserResource userResource = realmResource.users().get(userId);
    final UserRepresentation user = userResource.toRepresentation();
    if (user.getAttributes() == null) {
        user.setAttributes(new HashMap<>());
    }
    user.getAttributes().put(Const.SOME_ATTRIBUTE, Collections.singletonList(value));
    userResource.update(user);
    log.info("Attribute to user: " + userId + " added successfully");
}

我收到错误 HTTP-409:

Caused by: javax.ws.rs.ClientErrorException: HTTP 409 Conflict
    at org.jboss.resteasy.resteasy-jaxrs@3.6.3.Final//org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.handleErrorStatus(ClientInvocation.java:237)
    at org.jboss.resteasy.resteasy-jaxrs@3.6.3.Final//org.jboss.resteasy.client.jaxrs.internal.proxy.extractors.DefaultEntityExtractorFactory$3.extractEntity(DefaultEntityExtractorFactory.java:50)
    at org.jboss.resteasy.resteasy-jaxrs@3.6.3.Final//org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invokeSync(ClientInvoker.java:150)
    at org.jboss.resteasy.resteasy-jaxrs@3.6.3.Final//org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:112)
    at org.jboss.resteasy.resteasy-jaxrs@3.6.3.Final//org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76)

【问题讨论】:

  • 也许您的用户已经拥有此属性?

标签: java keycloak keycloak-rest-api http-status-code-409


【解决方案1】:

解决方案:属性值太长。您必须在 keycloak 数据库中更改大小。

ALTER TABLE user_attribute ALTER COLUMN value TYPE TEXT;

默认类型是VARCHAR(255)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-14
    • 2016-05-03
    • 2021-12-15
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多