-
I'm using external authentication and an SQL database. Right now my external authentication script (based on an example found online) is using SQL to delete the user's row from the "users" table. This is far from ideal for lots of reasons. It leaves remnants of the user in other tables, doesn't trigger hooks in ejabberd, and potentially leaves ejabberd and the database in inconsistent states. Is there any way for my external authentication script to perform the authentication... and then instruct ejabberd to do it's normal unregister steps (like it would with other auth methods)? Since it already knows the right steps to unregister, I'd like to take advantage of that instead developing and maintaining additional custom code. Has anyone else dealt with this, or have any suggestions? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Well, I may have asked too soon. It does look like some (most?) things are actually being clear up. I must have done a bad test the first time through. Just removing the row in the "users" table did clean up roster stuff. I'm assuming all the hooks must actually be firing correctly, then. Yeah! The user wasn't removed from someone else's Blocked List... but maybe that part is intentional? Maybe the external authentication script just gets to do "extra" processing for the unregister, above and beyond the standard unregistering processing by ejabberd. That'd be cool. Can anyone confirm? |
Beta Was this translation helpful? Give feedback.
-
When an local account is unregistered, the information directly associated to that account is removed. However, the information that other contacts may have about this one are not removed... neither for contacts in the local server, or in remote servers. That possibility is not implemented in ejabberd, and in fact is not supported in XMPP federation, right? If a contact in a remote server removes you from his roster, you simply get a "unsubscription" notification, not a roster removal. |
Beta Was this translation helpful? Give feedback.
Well, I may have asked too soon. It does look like some (most?) things are actually being clear up. I must have done a bad test the first time through. Just removing the row in the "users" table did clean up roster stuff. I'm assuming all the hooks must actually be firing correctly, then. Yeah!
The user wasn't removed from someone else's Blocked List... but maybe that part is intentional?
Maybe the external authentication script just gets to do "extra" processing for the unregister, above and beyond the standard unregistering processing by ejabberd. That'd be cool.
Can anyone confirm?