是否可以指示 jabber/xmpp 服务器将身份验证委托(delegate)给另一个模块?我们正在使用 XMPP 构建一个内部应用程序,如果我们能让用户保留他们在我们的网络应用程序中使用的标准用户名/密码,那就太好了。 Web 应用程序当前正在散列密码,因此数据库中的密码未以纯文本形式存储。如果不是这种情况,跨系统共享密码会很容易,但是,当然,在服务器端数据库中存储纯文本密码是一个很大的禁忌。
理想情况下,我们可以只告诉 jabber 服务器“嘿,只需将您的用户名/身份验证请求传递到这里”,然后运行一些其他进程(甚至可能只是一个 xmpp 机器人?)来处理身份验证。
我们目前使用 ejabberd 作为我们的服务器,我相信它是用 Erlang 编写的。不过,我们并不依赖于 ejabberd。我知道 XMPP 很大,而且在很大程度上是可扩展的 - 但我还没有发现任何关于服务器端可扩展身份验证的信息。
我找到了 this在 XMPP 网站上,但这似乎是用于在客户端和服务器之间协商身份验证的协议(protocol),而不是服务器上的实际身份验证机制。
关于如何在 XMPP 服务器和我们的其他系统之间合并身份验证方案的任何指示?
最佳答案
ejabberd 有多种验证方式。例如,如果您的组织有 LDAP 服务器,则可以使用 LDAP。这适用于我的公司,并为我们的 wiki、票务系统等提供单一登录。
查看 user guide 中关于身份验证的部分.
关于authentication - 将 Jabber/XMPP 与其他系统集成(身份验证、密码共享),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1195083/