Jabber/XMPPを他のシステムと統合する(認証、パスワード共有)
-
19-09-2019 - |
質問
Jabber/XMPPサーバーに認証を別のモジュールに委任するよう指示することは可能ですか? XMPPを使用して内部アプリケーションを構築していますが、ユーザーがWebアプリで使用する標準のユーザー名/パスワードを保持できるようにすることができれば素晴らしいでしょう。 Webアプリは現在パスワードをハッシュしているため、DBのパスワードはプレーンテキスト形式で保存されません。これがそうでない場合は、システム間でパスワードを簡単に共有することは簡単でしたが、もちろん、サーバー側のデータベースにプレーンテキストパスワードを保存することは大きなノーではありません。
理想的には、Jabberサーバーに「ねえ、ここにユーザー名/認証リクエストを渡すだけです」ということを伝えることができ、認証を処理する他のプロセスを実行している(おそらくXMPPボットでもありますか?)。
現在、Erlangで書かれていると思われるサーバーとしてEjabberdを使用しています。しかし、私たちはエジャバードに縛られていません。 XMPPは巨大で、大部分は拡張可能であることを知っていますが、サーバー側の拡張可能な認証については何も見つかりませんでした。
私は見つけました これ XMPP Webサイトでは、それはサーバー上の実際の認証メカニズムではなく、クライアントとサーバー間の認証を交渉するためのプロトコルのようです。
XMPPサーバーと他のシステムの間で認証スキームをマージする方法に関するポインターはありますか?
解決
Ejabberdには、認証する複数の方法があります。たとえば、組織用のLDAPサーバーがある場合は、LDAPを使用できます。これは私の会社で機能し、Wiki、チケットシステムなどに単一のログインを提供します。
の認証に関するセクションを見てください ユーザーガイド.