I would like to have Spark clients authenticate with OpenFire by going against a 3rd-party API. That is, the user would type their 3rd-party username and password into Spark, along with my OpenFire domain. My customized OpenFire will pass the username and password to the 3rd-party API and attempt to login. If the login succeeds, then the Spark client will have a normal chat session established with OpenFire. The user will not have a user account in the OpenFire database – only at the 3rd-party.
From what I can tell, I need to implement an AuthProvider to do my 3rd-party API calls. Is there anything else I have to do? I recognize that this is similar to an LDAP authentication, but there are no groups. The LDAP integration seems much more complex than I would expect to need for my purposes. Are there other interfaces or classes that I need to provide? Will the session behave normally from this point forward?