小编Ace*_*cop的帖子

如何在没有 keycloak 管理客户端的情况下更新 keycloak 用户?

我正在编写自定义 REST 端点。当我调用我的资源时,我尝试通过获取 UserResource 类的实例来更新 keycloak 中的一些用户。但是在更新 KeycloakTransactionManager 中的第一个用户事务之后,我收到异常 java.lang.IllegalStateException: 无法在没有事务的情况下访问委托。

我尝试通过以下方式开始交易:(例如)

KeycloakSession session = ... ; //got it from context
if(!session.getTransactionManager().isActive()){
session.getTransactionManager().begin();
}
Run Code Online (Sandbox Code Playgroud)

但得到“java.lang.IllegalStateException:事务处于非法回滚状态:已完成”,之后“java.lang.IllegalStateException:没有与当前线程关联的事务”。

// custom resource class
public class MyResource {

    @Context
    private HttpHeaders headers;

    private MyAdminAuth auth;
    private MyHelper helper;
    private AppAuthManager authManager;
// I've correctly getting session and with open/active transaction
    private KeycloakSession session;

    public MyResource(KeycloakSession session) {
        this.authManager = new AppAuthManager();
        this.session = session;
    }

@Path("sync-users-run")
    @POST
    @NoCache
    @ResponseObject
    public String syncUsersRun(String json) {
        Gson …
Run Code Online (Sandbox Code Playgroud)

java keycloak

5
推荐指数
0
解决办法
611
查看次数

标签 统计

java ×1

keycloak ×1