сменить пароль в ejabberd используя скрипт php

Это любой возможный способ изменить пароль пользователя в ejabberd
Я пытался использовать ниже XML, но это не работает для меня

Пытался :

<iq type='set' id='fabiang_xmpp_57e51e6c39d4d' from='[email protected]'>
<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">>}

К вашему сведению: ошибка / результат, который я улавливаю из ejabberd.log

Любые мысли, любые подсказки

заранее спасибо

1

Решение

Ваш первый раздел в порядке, за исключением того, что вы пытаетесь изменить пароль другого пользователя (вы вошли как админ и изменение пароля для тестовое задание). Я не ожидал бы, что это сработает.

Это должно работать нормально:

<iq type='set' id='fabiang_xmpp_57e51e6c39d4d' from='[email protected]'>
<query xmlns='jabber:iq:register'>
<username>admin</username>
<password>newpass</password>
</query>
</iq>
0

Другие решения

Для PHP, вы можете попробовать это

public function changePassword($user, $host, $new_password)
{
@exec('sudo ejabberdctl change-password '.$user.' '.$host.' '.$new_password.' 2>&1', $output, $status);
return $output;
}
0

По вопросам рекламы [email protected]