xmpp — пробует предварительную привязку converse.js с php к серверу openfire

Итак, у меня есть веб-сайт, на котором вы можете войти с именем пользователя и паролем, и мне бы хотелось, чтобы с этим одним входом в систему можно было генерировать сеанс для converse.js.

Я читал документацию и поддержку SSO, и я закончил в репозитории для предварительной привязки с php. ссылка на сайт

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

$xmppPrebind = new XmppPrebind('your-jabber-host.tld', 'http://your-jabber-host/http-bind/', 'Your XMPP Clients resource name', false, false);
$xmppPrebind->connect($username, $password);
$xmppPrebind->auth();
$sessionInfo = $xmppPrebind->getSessionInfo(); // array containing sid, rid and jid

Третий параметр в конструкторе XmppPrebind «Имя ресурса ваших клиентов XMPP», что это?

Также при выполнении функции подключения параметры $ username и $ password … это те, которые я получаю из формы входа (на моем веб-сайте), или какой-то действительный пользователь & пара паролей на сервере openfire?

2

Решение

  • «Имя ресурса ваших клиентов XMPP» = любое имя, которое вы хотите, например: myWebChat.
  • «Также при выполнении функции подключения параметры $ username и $ password … это те, которые я получаю из формы входа (на моем веб-сайте), или какой-то действительный пользователь & пара паролей на сервере openfire? »Используйте prebind для автоматической авторизации пользователей на вашем сервере xmpp при входе на ваш сайт, поэтому учетная запись должна быть действительной на сервере xmpp.
1

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

$ sessionInfo будет иметь sid rid и jid. Третий параметр будет добавлен в jid. Вы получите что-то вроде:

«you@conference.conversejs.orgИмя ресурса ваших клиентов XMPP»

Так что просто установите его пустым.

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

0