在ejb中是否有可能更改用户密码我试过使用下面的xml,但它不适合我
尝试:
<iq type='set' id='fabiang_xmpp_57e51e6c39d4d' from='admin@192.168.1.73'>
<query xmlns='jabber:iq:register'>
<username>test</username>
<password>newpass</password>
</query>
</iq>
结果:
{xmlcdata,<<"User already exists">>}
尝试:
<iq type='set' id='fabiang_xmpp_57e51e6c39d4d'>
<query xmlns='jabber:iq:register:changepassword'>
<old_password>test</old_password>
<username>87906</username>
<password>google</password>
</query>
</iq>
结果:
{xmlcdata,<<"No module is handling this query">>}
仅供参考:Error/Result i catch from ejabberd.log
任何想法,任何帮助
Thanks in advance
您的第一节很好,除了您试图更改不同用户的密码(您以admin身份登录并更改test的密码)。
这应该可以正常工作:
<iq type='set' id='fabiang_xmpp_57e51e6c39d4d' from='admin@192.168.1.73'>
<query xmlns='jabber:iq:register'>
<username>admin</username>
<password>newpass</password>
</query>
</iq>
对于PHP,您可以尝试如下
public function changePassword($user, $host, $new_password)
{
@exec('sudo ejabberdctl change-password '.$user.' '.$host.' '.$new_password.' 2>&1', $output, $status);
return $output;
}