I know this is an old question but I wanted to answer it with my solution in case anyone else stumbles across this forum like I did. I wanted to include my AuthProvider as part of my Plugin instead of creating a separate jar file that had to be installed separately. Loading everything in the plugin jar via the admin console seemed like a much cleaner solution for people using the plugin.
As several other people mentioned, Plugins are not included in the classpath of core openfire class loaders during startup. Even setting "provider.auth.className" in the Plugin initializer fails because it is not included in the classpath. However, if you import the auth class and create an instance of that class before setting the 'provider.auth.className' it will work correctly:
MyAuthProvider foo = new MyAuthProvider();
JiveGlobals.setProperty("provider.auth.className", foo.getClass().getName());
I also had to add an empty constructor for my AuthProvider class but this seems to work fine.
When Openfire starts it will initially fail to find my class and revert to the default AuthProvider but as soon as my plugin loads it changes the auth class to mine again. This is a very short delay and it also has the advantage of automatically reverting Openfire to its default auth provider if the plugin is deleted.
It might not be an optimal solution so I'll update this forum if I find problems with more extensive testing.