禁止Keycloak REST API 403

Avi*_*van 0 keycloak keycloak-services

我正在尝试使用keycloak REST API删除用户会话,但是却获取了403禁止的Http状态代码。我正在将令牌和cookie传递到标题中,如果我遗漏了一些东西,请告诉我。

static void logOut(String userId,KeycloakSecurityContext session){

        userId = "a12c13b7-fa2e-412f-ac8e-376fdca16a83";

        String url = "http://localhost:8081/auth/admin/realms/TestRealm/users/a12c13b7-fa2e-412f-ac8e-376fdca16a83/logout";
        HttpClient httpclient = HttpClients.createDefault();
        HttpPost httppost = new HttpPost(url);

        HttpResponse response;
        try {

            httppost.addHeader("Accept", "application/json");
            httppost.addHeader("Content-Type","application/json");
            httppost.addHeader("Cookie", "JSESSIONID=CABD8A135C74864F0961FA629D6D489B");
            httppost.addHeader("Authorization", "Bearer "+session.getTokenString());


            response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();

            System.out.println("entity :"+response.getStatusLine());

            if (entity != null) {
                String responseString = EntityUtils.toString(entity, "UTF-8");
                System.out.println("body ....."+responseString);
            }
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
Run Code Online (Sandbox Code Playgroud)

sub*_*ych 5

用于访问功能的用户需要相应领域的权限。

例如,我的“管理员”用户需要CLIENT“领域管理”的CLIENT ROLE“视图用户”才能获取有关用户的信息。在您的情况下,当您需要删除用户时,您可能需要角色“ manager-users”或功能更强大。