Интеграция Jabber/XMPP с другими системами (аутентификация, обмен паролями)
-
19-09-2019 - |
Вопрос
Можно ли дать указание серверу Jabber/XMPP по удалению аутентификации в другой модуль? Мы создаем внутреннее приложение с помощью XMPP, и было бы фантастически, если бы мы могли позволить пользователям сохранить свое стандартное имя пользователя/пароль, которое они используют в наших веб-приложениях. В настоящее время веб-приложения являются паролями хэширования, и поэтому пароли в БД не хранятся в простой текстовой форме. Было бы легко поделиться паролями между системами, если бы это было не так, но, конечно, хранение простых текстовых паролей в базе данных на стороне сервера является большим нет-нет.
В идеале мы могли бы просто сказать серверу Jabber: «Эй, просто передайте ваш запрос на имя пользователя/аутентификацию здесь» и провести другой процесс (возможно, даже просто бот XMPP?), Который обрабатывает аутентификацию.
В настоящее время мы используем Ejabberd в качестве нашего сервера, который, как я полагаю, написан в Erlang. Мы не привязаны к Эджабберду, хотя. Я знаю, что XMPP огромен и в значительной степени расширяется - но я ничего не нашел о расширяемой аутентификации на стороне сервера.
я нашел это На веб -сайте XMPP, но это представляется протоколом для согласования аутентификации между клиентом и сервером, а не фактическим механизмом аутентификации на сервере.
Есть ли указатели о том, как объединить схемы аутентификации между сервером XMPP и другими нашими системами?
Решение
У Эджабберда есть несколько способов аутентификации. Например, вы можете использовать LDAP, если у вас есть сервер LDAP для вашей организации. Это работает в моей компании, и предоставляет единый журнал для нашей вики, системы билетов и т. Д.
Взглянуть на раздел по аутентификации в гид пользователя.