Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-22266

Seraph in Confluence 3.5 environment no longer able to instantiate custom authenticator

      Customer using custom authenticator no longer works in Confluence 3.5 despite updates to latest API, latest Atlassian SDK, and building against Confluence 3.5 and embedded Crowd. See attached error log from customer. In brief, error is:

      Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.seraph.service.rememberme.DefaultRememberMeConfiguration]: Constructor threw exception; nested exception is java.lang.RuntimeException: Could not load security config 'seraph-config.xml': Exception configuring from 'seraph-config.xml'. : com.atlassian.seraph.config.ConfigurationException: Could not create: authenticator : java.lang.InstantiationException: Unable to instantiate class 'shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator'
      Caused by: java.lang.RuntimeException: Could not load security config 'seraph-config.xml': Exception configuring from 'seraph-config.xml'. : com.atlassian.seraph.config.ConfigurationException: Could not create: authenticator : java.lang.InstantiationException: Unable to instantiate class 'shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator'
      	at com.atlassian.seraph.config.SecurityConfigFactory.loadInstance(SecurityConfigFactory.java:60)
      ...
      Caused by: com.atlassian.seraph.config.ConfigurationException: Exception configuring from 'seraph-config.xml'. : com.atlassian.seraph.config.ConfigurationException: Could not create: authenticator : java.lang.InstantiationException: Unable to instantiate class 'shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator'
      	at com.atlassian.seraph.config.SecurityConfigImpl.<init>(SecurityConfigImpl.java:170)
      ...
      Caused by: com.atlassian.seraph.config.ConfigurationException: Could not create: authenticator : java.lang.InstantiationException: Unable to instantiate class 'shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator'
      	at com.atlassian.seraph.config.SecurityConfigImpl.configureClass(SecurityConfigImpl.java:288)
      ...
      Caused by: java.lang.InstantiationException: Unable to instantiate class 'shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator'
      	at com.atlassian.seraph.config.SecurityConfigImpl.configureClass(SecurityConfigImpl.java:278)
      ...
      

      According to Atlassian 3.5 documentation:
      http://confluence.atlassian.com/display/DOC/Confluence+3.5+Upgrade+Notes#Confluence3.5UpgradeNotes-ForCustomersUsingCustomAuthenticators

      For Customers Using Custom Authenticators

      Custom authenticators, as defined in seraph-config.xml, are not affected and should work in the same way as in earlier versions of Confluence.

      That does not seem to be accurate, as there is work that needs to be done to authenticators in order to update them such that they will work in Confluence 3.5, even just in regard to Seraph.

      Note: this plugin is mentioned in Atlassian documentation as example of custom authenticator: http://confluence.atlassian.com/display/DEV/Single+Sign-on+Integration+with+JIRA+and+Confluence

      See ticket for details and built plugin jar:
      https://studio.plugins.atlassian.com/browse/SHBL-47

      Current version of plugin showing this problem attached to that ticket. Source is here for review:
      https://studio.plugins.atlassian.com/svn/SHBL/trunk/

      Is likely that part of issue is how plugin is declared in atlassian-plugin.xml:
      https://studio.plugins.atlassian.com/svn/SHBL/trunk/src/main/resources/atlassian-plugin.xml

      Specifically, I'm not sure how to declare the authenticator as a resource so that it can be loaded via seraph config, since using OSGi now. It isn't a component, I think, because should be loading by fully-qualified classname in seraph config, not via component key:

          <component key="remoteUserAuth" class="shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator">
              <description>Shibboleth authenticator.</description>
              <interface>shibauth.confluence.authentication.shibboleth.RemoteUserAuthenticator</interface>
          </component>
      

      Help would be appreciated as this is keeping those using Shibboleth from upgrading to Confluence 3.5.

      Have seen bugs in Seraph, etc. that could be related, but don't see a duplicate of this issue.

      Much thanks,
      Gary

        1. atlassian-confluence.zip
          408 kB
        2. ConfluenceGroupJoiningAuthenticator.java
          4 kB
        3. error_log2.txt
          61 kB
        4. log-except-2011-04-07.txt
          67 kB

            [CONFSERVER-22266] Seraph in Confluence 3.5 environment no longer able to instantiate custom authenticator

            set-jac-bot made changes -
            Link New: This issue details CONFSERVER-22360 [ CONFSERVER-22360 ]
            Katherine Yabut made changes -
            Workflow Original: JAC Bug Workflow v3 [ 2888687 ] New: CONFSERVER Bug Workflow v4 [ 2999774 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow v2 [ 2798854 ] New: JAC Bug Workflow v3 [ 2888687 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow [ 2729368 ] New: JAC Bug Workflow v2 [ 2798854 ]
            Owen made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2394543 ] New: JAC Bug Workflow [ 2729368 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 2290087 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2394543 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2228231 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 2290087 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2184367 ] New: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2228231 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 1953079 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2184367 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v3 [ 1746021 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 1953079 ]

              nbhawnani Niraj Bhawnani
              6e54f9dce0da Gary Weaver
              Affected customers:
              9 This affects my team
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: