8000 Issue using User Federation/LDAP provider in keycloak 15.1.1 with Java 8 · Issue #9885 · keycloak/keycloak · GitHub
[go: up one dir, main page]

Skip to content

Issue using User Federation/LDAP provider in keycloak 15.1.1 with Java 8 #9885

Closed

Description

@shubhamarora97

Describe the bug

I have an LDAP configuration with Active Directory which works well with keycloak 15.0.2 and Java 8.

I tested the same LDAP configuration with keycloak 15.1.1 and I had the following error when I made a request to test the authentication of the LDAP configuration.
image

I am getting the following error:
ERROR [KeycloakErrorHandler:65:default task-2] Uncaught server error: java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
at org.keycloak.vault.DefaultVaultRawSecret.close(DefaultVaultRawSecret.java:90) [keycloak-services-15.1.1.jar:15.1.1]
at org.keycloak.vault.DefaultVaultTranscriber.getCharSecret(DefaultVaultTranscriber.java:84) [keycloak-services-15.1.1.jar:15.1.1]
at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.getVaultSecret(LDAPContextManager.java:108)
at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.createLdapContext(LDAPContextManager.java:72)
at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.getLdapContext(LDAPContextManager.java:100)
at org.keycloak.services.managers.LDAPServerCapabilitiesManager.testLDAP(LDAPServerCapabilitiesManager.java:99) [keycloak-services-15.1.1.jar:15.1.1]
at org.keycloak.services.resources.admin.RealmAdminResource.testLDAPConnection(RealmAdminResource.java:958) [keycloak-services-15.1.1.jar:15.1.1]

Version

15.1.1

Expected behavior

LDAP configuration should work in keycloak 15.1.1 with Java 8 as it is supported in the documentation:
https://www.keycloak.org/docs/latest/server_installation/#:~:text=Java%208%20JRE%20or%20Java%2011%20JRE

Actual behavior

The 'Test authentication' fails in keycloak 15.1.1 when Java 8 is used.
ERROR [KeycloakErrorHandler:65:default task-2] Uncaught server error: java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
at org.keycloak.vault.DefaultVaultRawSecret.close(DefaultVaultRawSecret.java:90) [keycloak-services-15.1.1.jar:15.1.1]
at org.keycloak.vault.DefaultVaultTranscriber.getCharSecret(DefaultVaultTranscriber.java:84) [keycloak-services-15.1.1.jar:15.1.1]
at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.getVaultSecret(LDAPContextManager.java:108)
at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.createLdapContext(LDAPContextManager.java:72)
at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.getLdapContext(LDAPContextManager.java:100)
at org.keycloak.services.managers.LDAPServerCapabilitiesManager.testLDAP(LDAPServerCapabilitiesManager.java:99) [keycloak-services-15.1.1.jar:15.1.1]
at org.keycloak.services.resources.admin.RealmAdminResource.testLDAPConnection(RealmAdminResource.java:958) [keycloak-services-15.1.1.jar:15.1.1]

How to Reproduce?

Requirements:

Java 8
Keycloak 15.1.1
Steps:

Create an LDAP configuration in User Federation.
The 'Test connection' shall work fine.
'The 'Test authentication' fails and produces the error 'No such method error'.

Anything else?

No response

Activity

  1. shubhamarora97 commented on Jan 29, 2022

    @shubhamarora97
    Author

    Is there any solution/workaround so that LDAP configuration works for keycloak 15.1.1 with Java 8 only?

  2. hmlnarik commented on Jan 30, 2022

    @hmlnarik
    Contributor

    Workaround: compile keycloak with JDK8 and use that distribution instead
    Cause: JDK9 is not binary compatible with JDK8 in java.nio.Buffer methods

  3. added
    area/coreCore server — startup, configuration, providers/SPIs, cross-cutting concerns
    and removed on Jan 30, 2022
  4. shubhamarora97 commented on Feb 3, 2022

    @shubhamarora97
    Author

    Thanks @hmlnarik. This workaround has worked for me and LDAP configuration was working fine after building the source code binaries with Java 8 and then trying it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/coreCore server — startup, configuration, providers/SPIs, cross-cutting concernskind/bugCategorizes a PR related to a bug

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0