Keycloak REST API 403 forbidden



我正在尝试使用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();
        }
    }

您使用的用户按照领域的权利访问功能。

例如,我的" admin"用户需要客户角色" view-user" client" realm management"才能获取有关用户的信息。在您的情况下,当您需要删除用户时,您可能需要一个角色"管理用户"或可能更强大的功能。

管理用户的领域管理角色将为您删除权限。您可以从"角色映射"选项卡中的客户角色中选择"领域管理"。

管理用户是一个强大的角色,它可能比您可能想要的要给最终用户更多的权限。您可以根据您的要求升级其他用户角色,删除任何人等。

相关内容

  • 没有找到相关文章

最新更新