簡體   English   中英

Keycloak 創建客戶端

[英]Keycloak Create Client

我正在嘗試使用keycloak-admin-client創建一個新的 Keycloak 客戶端。

這是我的代碼:

        Keycloak keycloak =
                KeycloakBuilder.builder()
                        .serverUrl("http://localhost:8080/auth")
                        .realm("realm-name")
                        .grantType(OAuth2Constants.PASSWORD)
                        .username("admin")
                        .password("adminPassword")
                        .clientId("admin-cli")
                        .resteasyClient(new ResteasyClientBuilderImpl().connectionPoolSize(10).build())
                        .build();

        ClientRepresentation clientRep = new ClientRepresentation();
        clientRep.setClientId(clientId);
        clientRep.setSecret(UUID.randomUUID().toString());
        clientRep.setProtocol("openid-connect");

        keycloak.realm("realm-name").clients().create("test-client");

執行此操作時,我收到未經授權的錯誤( javax.ws.rs.NotAuthorizedException: HTTP 401 Unauthorized ),但我知道我的管理員密碼是正確的。

我的用例是我正在使用主 Keycloak 管理員。 我需要能夠僅使用客戶端 API 且無需任何手動步驟來設置 realm、客戶端和用戶(然后是一些配置)。 為了構建 Dockerized CI/CD,我需要設置一個完全自動化的 Keycloak 設置。

值得注意的是,我不需要這是安全的策略。 我只是想編寫一些代碼,用於自動設置 Dockerize Keycloak 實例以進行某些測試。

在這部分:

Keycloak keycloak =
                KeycloakBuilder.builder()
                        .serverUrl("http://localhost:8080/auth")
                        .realm("realm-name")
                        .grantType(OAuth2Constants.PASSWORD)
                        .username("admin")
                        .password("adminPassword")
                        .clientId("admin-cli")
                        .resteasyClient(new ResteasyClientBuilderImpl().connectionPoolSize(10).build())
                        .build();

而不是.realm("realm-name")使用.realm("master")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM