LDAP Authentication issue LDAP: error code 1 - 000020D6: SvcErr: DSID-0310081B, problem 5012 (DIR_ERROR)

SonarQube Community Edition Version 7.9.2
Installation via Docker Image binding 9000 and 9002 port for Web and H2 DB

Trying to set up LDAP Authentication

LDAP Plugin https://docs.sonarqube.org/latest/instance-administration/delegated-auth/
Version 2.2

LDAP Properties i.e sonar.properties are passed to docker image at runtime using -D format

LDAP Server connectivity is fine (tested via telnet)

2020.12.24 09:09:12 INFO  web[][o.s.p.l.LdapContextFactory] Test LDAP connection on ldap://115.113.120.242: OK
2020.12.24 09:09:12 INFO  web[][org.sonar.INFO] Security realm started


Test LDAP Connection OK when launching SonarQube Image as a container.

But receiving Authentication Failure on Webpage and Docker logs show the following

2020.12.24 09:10:03 INFO  ce[][o.s.c.c.ComputeEngineContainerImpl] Running Community edition
2020.12.24 09:10:03 INFO  ce[][o.s.ce.app.CeServer] Compute Engine is operational
2020.12.24 09:10:04 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
2020.12.24 09:10:04 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up
2020.12.24 09:10:21 ERROR web[AXaUAxvsHYClG1A9AAAh][o.s.s.a.CredentialsExternalAuthentication] Error during authentication
org.sonar.plugins.ldap.LdapException: Unable to retrieve details for user omkar.kadam in <default>
        at org.sonar.plugins.ldap.LdapUsersProvider.getUserDetails(LdapUsersProvider.java:84)
        at org.sonar.plugins.ldap.LdapUsersProvider.doGetUserDetails(LdapUsersProvider.java:58)
        at org.sonar.server.authentication.CredentialsExternalAuthentication.doAuthenticate(CredentialsExternalAuthentication.java:97)
        at org.sonar.server.authentication.CredentialsExternalAuthentication.authenticate(CredentialsExternalAuthentication.java:91)
        at org.sonar.server.authentication.CredentialsAuthentication.authenticate(CredentialsAuthentication.java:66)
        at org.sonar.server.authentication.CredentialsAuthentication.authenticate(CredentialsAuthentication.java:54)
        at org.sonar.server.authentication.ws.LoginAction.authenticate(LoginAction.java:121)
        at org.sonar.server.authentication.ws.LoginAction.doFilter(LoginAction.java:100)
        at org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:126)
        at org.sonar.server.platform.web.MasterServletFilter.doFilter(MasterServletFilter.java:95)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.sonar.server.user.UserSessionFilter.doFilter(UserSessionFilter.java:87)
        at org.sonar.server.user.UserSessionFilter.doFilter(UserSessionFilter.java:71)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.sonar.server.platform.web.CacheControlFilter.doFilter(CacheControlFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.sonar.server.platform.web.SecurityServletFilter.doHttpFilter(SecurityServletFilter.java:76)
        at org.sonar.server.platform.web.SecurityServletFilter.doFilter(SecurityServletFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.sonar.server.platform.web.RedirectFilter.doFilter(RedirectFilter.java:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.sonar.server.platform.web.requestid.RequestIdFilter.doFilter(RequestIdFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.sonar.server.platform.web.RootFilter.doFilter(RootFilter.java:62)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at ch.qos.logback.access.tomcat.LogbackValve.invoke(LogbackValve.java:256)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: javax.naming.NamingException: [LDAP: error code 1 - 000020D6: SvcErr: DSID-0310081B, problem 5012 (DIR_ERROR), data 0
]
        at java.naming/com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
        at java.naming/com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
        at java.naming/com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
        at java.naming/com.sun.jndi.ldap.LdapCtx.searchAux(Unknown Source)
        at java.naming/com.sun.jndi.ldap.LdapCtx.c_search(Unknown Source)
        at java.naming/com.sun.jndi.ldap.LdapCtx.c_search(Unknown Source)
        at java.naming/com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(Unknown Source)
        at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)
        at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)
        at java.naming/javax.naming.directory.InitialDirContext.search(Unknown Source)
        at org.sonar.plugins.ldap.LdapSearch.find(LdapSearch.java:130)
        at org.sonar.plugins.ldap.LdapSearch.findUnique(LdapSearch.java:143)
        at org.sonar.plugins.ldap.LdapUsersProvider.getUserDetails(LdapUsersProvider.java:80)
        ... 51 common frames omitted

A few different error codes given below are generated if I tweak my LDAP configuration parameters

LDAP: error code 32 - 0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT)

javax.naming.NamingException: [LDAP: error code 1 - 000020D6: SvcErr: DSID-0310081B, problem 5012 (DIR_ERROR), data 0

I’m able to fetch all the users of AD via LDAPSearch on the Server. And The config looks fine, as an erroneous config will not lead to a running container, i.e SonarQube will fail at docker run step

Can you please guide us with more information to debug these error/Exceptions

I will add any more information that you would need to provide assistance in this aspect.

Thanks.

Hello,

I have solved this issue.

I found the following thread/topic very helpful -> How to configure sonarqube associated with AD domain account?.

I would also request you to the remove the image/screenshot uploaded in the above topic as that contains critical data/credentials that could be misused

Thanks

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.