このリンクに基づいたejabberd(XMPPサーバー)に認証スクリプトがあります
スクリプトを少し変更して、変数を設定する代わりに、true または false を返すようにしました。
Ubuntu、MySQL、ejabberd、および Python を使用しています。
データベースに既に存在するすべてのレコードを認証できます。しかし、レコードを追加または削除すると (phpMyAdmin を使用してこれを行います)、スクリプトはデータベースが変更されたことを認識していないようです (phpMyAdmin でユーザーを削除しても、ユーザーは認証されます)。スクリプトが新しいレコードを認識するのは、ejabberd サーバーを再起動または強制リロードするときだけです。私はすでにそれがmySQLキャッシングの問題ではないと言われています。ejabberd の外部認証キャッシュをオフにしたことを確認しました。
今思いつくのはそれだけです。思いついた情報があれば追記します。どんな助けでも大歓迎です。何が起こっているのかわかりません。
追加:MySQLログとそこにあるすべてのクエリをオンにして、クエリをスキップしないようにしました。