I use the JDBCAuthProvider for my Openfire installation. It worked great, but now when new users connect to the server, openfire give them a random JID and a random ressource. If I look at my session list on Openfire webadmin, it reports as anonymous users.
Check in the Openfire settings, if you are allowing anonymous logins. Turn it off and see what happens. Maybe the clients that are used log in anonymously if the user is too lazy to type his username and password.
That happened to me when I used LDAP to Auth and had set the Userprovider to jdbc
(So Auth was successfull but no user was present)
I wrote a “HybridUserProvider” to be able to check different sources for users (LDAP + JDBC in my Case). I will contribute it when I find the time to fill out that contribution-form-thingy
Hum, if I manually create an account, the user will be able to connect correctly to the server, without an random jid and ressource.
I just use the JDBCAuthProvider. I don’'t populate my users list from any database. Openfire should create them when a user connect for the first time…
My users are in an external database. Openfire have an read-only access to this database.
The authentication succeed all the time.
If the user already exists in Openfire, all things work.
If the user logon on Openfire for the first time (so, this user doesn’‘t exist in the internal Openfire database), the server give an random JID and ressource to him (and webadmin reports these users as anonymous users). If I manually create an account for this user in the webadmin and this user retry to connnect, it’'s working.
So, the problem seem to be the user creation within the internal database after a successfull external authentication when the user connects for the first time.