Jackrabbit Preauthentication Module
Reference: http://jackrabbit.apache.org/oak/docs/security/authentication/preauthentication.html
Hello,
I wanted to login AEM without the password and implemented jackrabbit Preauthentication and facing an issue. Developed a custom authentication handler which implementes org.apache.sling.auth.core.spi.AuthenticationHandler and in extract credentials method, set the authentication info with the user id i received from the servlet.
And also developed a custom login module which extends org.apache.jackrabbit.oak.spi.security.authentication.AbstractLoginModule class and implemented the login() method. As per documentation i have set the login name, credentials and pre auth login. And then navigated to felix configurations and added new Apache Felix JAAS Configuration factory with the custom login java class name and other details.
When i try to login, i see username is properly set in custom authentication handler and my custom login module is not being called. I am getting below error message in logs. Custom java class is installed as part of bundle but, still getting an error
org.apache.sling.auth.core.impl.SlingAuthenticator handleLoginFailure: Unable to authenticate <user>: java.lang.AssertionError: No bundle exists to create LoginModule from <custom login java class>
at org.apache.felix.jaas.internal.BundleLoginModuleCreator.newInstance(BundleLoginModuleCreator.java:59)
at org.apache.felix.jaas.internal.ConfigLoginModuleProvider.createLoginModule(ConfigLoginModuleProvider.java:80)
at org.apache.felix.jaas.boot.ProxyLoginModule.initialize(ProxyLoginModule.java:46)
...............................
........ com.day.cq.auth.impl.LoginSelectorHandler requestCredentials: Abort login due to apparent misconfiguration.
........ com.day.cq.auth.impl.LoginSelectorHandler requestCredentials: Possible reasons: login page not existing or not accessible
Appreciated for any help on above