Two custom authenticators?

Is it possible to have two custom DB authenticators in Openfire so that if a password doesn’t match either authenticator it will reject but if it matches atleast 1 then it should accept the connection?

Thanks.

Yes, you can customize it as much as needed via Customized DB Integration, and/or HybridAuthProvider as well as source code level changes (if needed)

http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-integ ration-guide.html

http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/javadoc/ org/jivesoftware/openfire/user/HybridUserProvider.html

Thanks for your help. Do you have a quick example of how this may look?

I’ve tried adding two authenticators via the Customized DB Integration method but it just seems to replace the pre-exisiting authenticator with the newly added one.

What I’m sorta trying to do in code:

<provider>
    <auth>
      <className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>
      <className>org.jivesoftware.openfire.auth.JDBCAuthProviderPlain</className>
    </auth>
  </provider>
  <jdbcAuthProvider>
     <passwordSQL>SELECT password FROM user_account WHERE username=?</passwordSQL>
     <passwordType>plain</passwordType>
  </jdbcAuthProvider>
  <jdbcAuthProviderPlain>
     <passwordSQL>SELECT md5 FROM user_account WHERE username=?</passwordSQL>
     <passwordType>md5</passwordType>
  </jdbcAuthProviderPlain>

Thanks.

Since v.3.6.0 these settings are now maintained in ofProperty table. When following the docs, be sure to save your settings there instead of in /opt/openfire/conf/openfire.xml.

you can still add the settings to the openfire.xml. when openfire is restarted the settings will transfer to the database. or you can edit most if not all the settings via the system properties link in the admin site now.