将 Jabber/XMPP 与其他系统集成(身份验证、密码共享)

发布于 2024-07-29 06:05:47 字数 666 浏览 1 评论 0原文

是否可以指示 jabber/xmpp 服务器将身份验证委托给另一个模块? 我们正在使用 XMPP 构建一个内部应用程序,如果我们能让用户保留他们在我们的 Web 应用程序中使用的标准用户名/密码,那就太好了。 网络应用程序当前正在对密码进行哈希处理,因此数据库中的密码不是以纯文本形式存储的。 如果不是这种情况,跨系统共享密码本来很容易,但是,当然,在服务器端数据库中存储纯文本密码是一个很大的禁忌。

理想情况下,我们可以告诉 jabber 服务器“嘿,只需将您的用户名/身份验证请求传递到这里”,并运行一些其他进程(甚至可能只是一个 xmpp 机器人?)来处理身份验证。

我们目前使用 ejabberd 作为我们的服务器,我相信它是用 Erlang 编写的。 不过我们并不依赖于 ejabberd。 我知道 XMPP 很大,而且很大程度上是可扩展的 - 但我还没有发现任何有关服务器端可扩展身份验证的信息。

我在 XMPP 网站上找到了这个,但是这似乎是客户端和服务器之间协商身份验证的协议,而不是服务器上的实际身份验证机制。

有关如何合并 XMPP 服务器和我们其他系统之间的身份验证方案的任何指示吗?


Is it possible to instruct the jabber/xmpp server to delegate authentication to another module? We are building an internal application using XMPP and it would be fantastic if we could let users keep their standard username/password that they use in our web-apps. The web-apps are currently hashing passwords, and so the passwords in the DB are not stored in plain-text form. It would have been easy to share passwords across systems if this were not the case, but then, of course, storing plain-text passwords in the server-side database is a big no-no.

Ideally we could just tell the jabber server "hey, just pass off your username/authentication request to here" and have some other process running (perhaps even just an xmpp bot?) that handles authentication.

We are currently using ejabberd as our server, which I believe is written in Erlang. We're not tied to ejabberd though. I know that XMPP is huge, and largely extensible - but I haven't found anything about extensible authentication on the server side.

I found this on the XMPP website, but that appears to be the protocol for negotiating authentication between the client and the server, not the actual authentication mechanism on the server.

Any pointers on how to merge authentication schemes between an XMPP server and our other systems?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九八野马 2024-08-05 06:05:47

ejabberd 有多种身份验证方式。 例如,如果您的组织有 LDAP 服务器,则可以使用 LDAP。 这适用于我的公司,并为我们的 wiki、票务系统等提供单一登录。

请查看 用户指南

ejabberd has multiple ways to authenticate. You can use LDAP, for example, if you have an LDAP server for your organisation. This works at my company, and provides a single log in for our wiki, ticket system, etc.

Have a look at the section on authentication in the user guide.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文