Upgraded from 2.6.4 to 2.7.1-1 and integration with Jira has broken #2243

Open
joe-ecconnect opened this Issue Dec 20, 2016 · 3 comments

Projects

None yet

3 participants

@joe-ecconnect

Bug report

(Note: Please fill in the blank ___ about your rundeck installation below. You can remove this line.)

My Rundeck detail

  • Rundeck version: 2.7.1-1
  • install type: RPM (rpm,deb,war,launcher)
  • OS Name/version: Centos 6___

Expected Behavior
Expect to be able to login using our Jira credentials


Actual Behavior
After upgrade trying to use the JAAS's integration to our JIRA server for user logins is failing.

I did see notes about the change in jass-loginmodule.conf class name and made the changed.

I've reset passwords on Jira.

apart from this issue, using the local users or admin account works perfectly.


How to reproduce Behavior
Try to use non-local logins to RunDeck and it fails to log in. Nothing on the screen to indicate a major issue just a "Invalid username and password. "

in service.log we see the following error when trying to use known logins for Jira, when logging into Rundeck. What amuses me is the reference to the missing class def org/eclipse/jetty/plus/jaas/callback/ObjectCallback| that isn't right, but I can only find it in binaries, not configuration files, and was what was in the jaas-loginmodule.conf.

2016-12-20 13:58:09.711:WARN:oejj.JAASLoginService:qtp2074407503-19:
javax.security.auth.login.LoginException: java.lang.NoClassDefFoundError: org/eclipse/jetty/plus/jaas/callback/ObjectCallback|?at be.greenhand.jaas.jetty.CrowdLoginModule.configureCallbacks(CrowdLoginModule.java:220)|?at be.greenhand.jaas.jetty.CrowdLoginModule.login(CrowdLoginModule.java:123)|?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)|?at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)|?at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|?at java.lang.reflect.Method.invoke(Method.java:497)|?at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)|?at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)|?at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)|?at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)|?at java.security.AccessController.doPrivileged(Native Method)|?at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)|?at javax.security.auth.login.LoginContext.login(LoginContext.java:587)|?at org.eclipse.jetty.jaas.JAASLoginService.login(JAASLoginService.java:241)|?at org.eclipse.jetty.security.authentication.LoginAuthenticator.login(LoginAuthenticator.java:52)|?at org.eclipse.jetty.security.authentication.FormAuthenticator.login(FormAuthenticator.java:192)|?at org.eclipse.jetty.security.authentication.FormAuthenticator.validateRequest(FormAuthenticator.java:229)|?at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:499)|?at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213)|?at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1097)|?at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:448)|?at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175)|?at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1031)|?at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)|?at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)|?at org.eclipse.jetty.server.Server.handle(Server.java:446)|?at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:271)|?at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:246)|?at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)|?at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)|?at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)|?at java.lang.Thread.run(Thread.java:745)|Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.callback.ObjectCallback|?at java.net.URLClassLoader.findClass(URLClassLoader.java:381)|?at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:420)|?at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:382)|?... 32 more|
        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856)
        at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
        at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
        at org.eclipse.jetty.jaas.JAASLoginService.login(JAASLoginService.java:241)
        at org.eclipse.jetty.security.authentication.LoginAuthenticator.login(LoginAuthenticator.java:52)
        at org.eclipse.jetty.security.authentication.FormAuthenticator.login(FormAuthenticator.java:192)
        at org.eclipse.jetty.security.authentication.FormAuthenticator.validateRequest(FormAuthenticator.java:229)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:499)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1097)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:448)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1031)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:446)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:271)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:246)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
        at java.lang.Thread.run(Thread.java:745)

The file jaas-loginmodule.conf has

RDpropertyfilelogin {
be.greenhand.jaas.jetty.CrowdLoginModule sufficient
    applicationName="Rundeck-EAP"
    applicationPassword="i7nZXh5OAjyu"
    crowdServerUrl="https://jira.ecconnect.com.au/"
    httpMaxConnections="20"
    httpTimeout="5000";

org.eclipse.jetty.jaas.spi.PropertyFileLoginModule sufficient
debug="true"
file="/etc/rundeck/realm.properties";

};

Enhancement request

(For enhancements: Please search the existing Issues and look at the Trello board for your idea before posting.)

...

@joe-ecconnect joe-ecconnect changed the title from Upgraded fom 2.6.4 to 2.7.1-1 and intergration with Jira has brokwn to Upgraded from 2.6.4 to 2.7.1-1 and integration with Jira has broken Dec 20, 2016
@gschueler
Contributor

The error seems to come from the CrowdLoginModule so you will need to look into upgrading that component, it is not coming from Rundeck. We upgraded to Jetty 9. Probably that login module needs to be updated to be compatible

@realloc realloc referenced this issue in flopma/crowd-jaas Jan 2, 2017
Closed

Not working with Rundeck 2.7 #5

@flopma
flopma commented Jan 4, 2017

I made some changes to the code. Please see my comment flopma/crowd-jaas#5 (comment)

Thank you

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