Попытка Prebinding 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.
$sessionInfo будет иметь sid rid и jid. Третий параметр будет добавлен в jid. Вы получите что-то вроде:
"you@conference.conversejs.org Имя ресурса ваших клиентов XMPP"
Так что просто установите его пустым.
Я предполагаю, что только первый или третий параметры должны быть установлены, а не оба за один раз.