首页 > 解决方案 > Red Hat SSO 7.3.0.GA 的 Keycloak API 调用依赖项

问题描述

我使用下面的代码在我的项目中调用 keycloak api。它在 Keylcloak 7.0.1 中工作。但是,它不工作 RedHat SSO 7.3.0.GA

   Keycloak kc = KeycloakBuilder.builder()
    .realm(MASTERREALM)
    .username(USERNAME)
    .password(PASSWORD)
    .serverUrl(SERVER_URL).clientId(CLIENT_ID)
    .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()).build();

  UsersResource usersResource = kc.realm(REALM).users();

这在使用以下依赖项连接到 Keycloak 7.0.1 时工作正常

<dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-admin-client</artifactId>
            <version>7.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-core</artifactId>
            <version>7.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-common</artifactId>
            <version>7.0.1</version>
        </dependency>               

        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxrs</artifactId>
            <version>3.7.0.Final</version>
        </dependency>

        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-client</artifactId>
            <version>3.7.0.Final</version>
        </dependency>

        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson2-provider</artifactId>
            <version>3.7.0.Final</version>
        </dependency>   

    <!-- Keycloak api dependencies -->

List<UserRepresentation> listUserResource = usersResource.search(strUserName);

我的问题:-

1) 当我尝试连接 Red Hat SSO 7.3.0.GA 时,我必须使用哪些依赖项。

I have tried use below dependency. it is throwing maven build error of dependencies are not available in central repository. Since, This artifact is located at Redhat GA repository. 
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-admin-client</artifactId>
    <version>7.0.0.redhat-00002</version>
</dependency>

2) 如何在 pom.xml 文件中定义 Redhat GA 存储库

提前致谢

标签: keycloakredhat-sso

解决方案


RedHat 文档中,在您的文件中包含以下内容~/.m2/settings.xml

<!-- Configure the JBoss Enterprise Maven repository -->
<profile>
  <id>jboss-enterprise-maven-repository</id>
  <repositories>
    <repository>
      <id>jboss-enterprise-maven-repository</id>
      <url>https://maven.repository.redhat.com/ga/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>jboss-enterprise-maven-repository</id>
      <url>https://maven.repository.redhat.com/ga/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
</profile>

假设您可以访问 JBoss EAP Maven 存储库。您需要jboss-enterprise-maven-repository在命令行上启用配置文件mvn -Pjboss-enterprise-maven-repository <target>或添加:

<activeProfiles>
    <activeProfile>jboss-enterprise-maven-repository</activeProfile>
</activeProfiles>

到你的~/.m2/settings.xml文件。


推荐阅读