Смена пароля с помощью Jabber Net - PullRequest
1 голос
/ 17 октября 2010

Мне было интересно, можно ли изменить пароль пользователя с помощью Jabber Net. Если да, есть ли надежный способ сначала убедиться, что старый пароль действительно действителен, прежде чем изменять его на новый?

1 Ответ

0 голосов
/ 17 октября 2010

Сначала необходимо войти в систему. Это гарантирует, что старый пароль правильный. Затем используйте команды Register. Смотрите пример ( MainForm.cs ) для аналогичного кода, но важные биты:

jc.OnRegisterInfo += new jabber.client.RegisterInfoHandler(jc_OnRegisterInfo);
jc.OnRegistered += new jabber.client.IQHandler(jc_OnRegistered);

jc.Password = "New Password";
jc.Register(new JID(jc.User, jc.Server, null));

// Called back when server sends registration form
private bool jc_OnRegisterInfo(object sender, Register r)
{
    if (r.Form == null)
        return true;

    // Some newer servers may use XData for registration
    muzzle.XDataForm f = new muzzle.XDataForm(r.Form);
    if (f.ShowDialog() != DialogResult.OK)
        return false;
    f.FillInResponse(r.Form);
    return true;
}

// Done setting password
private void jc_OnRegistered(object sender, IQ iq)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...