質問

私たちは人々が連絡先を持つソーシャル ネットワーキング サイトを持っており、それを XMPP と統合したいと考えています。現在、ejabberd XMPP サーバーを使用しています。

私の質問は次のとおりです。

  1. アカウントを正しく作成するにはどうすればよいですか?現在、Web アプリでのユーザー登録について考えているのは、ejabberd コマンドを実行してユーザーを作成するスクリプトを呼び出すことです。

  2. ユーザ認証。ユーザーが当社の Web サイトにログインすると、ユーザーはチャット システムに自動的にログインします。クライアント側で strophe.js を使用してこれを行うにはどうすればよいでしょうか?私が理解しているように、認証には JID とパスワードを提供する必要があるため、ログイン時に ajax 呼び出しが行われてユーザーのパスワードを取得し、strophe.js のログイン呼び出しで応答テキストを使用すると考えています。これは安全ですか?他にこれを行う方法はありますか?

  3. プレゼンス登録。私たちの Web アプリには連絡先システムがありますが、XMPP にはプレゼンス サブスクリプションを通じて連絡先を追加する独自の方法があります。例:user1 が user2 を追加しようとすると、user1 が user2 の連絡先になる前に、user2 に承認が求められます。しかし、Web アプリにはすでに連絡先システムがあるため、user2 が user1 を連絡先として確認するときに、XMPP のこの認証をバイパスするか抑制し、スクリプト/コマンドで認証する必要があります。 私たちのウェブサイトで. 。まだ明確ではありませんが、同僚によると、これは ejabberd のモジュール mod_admin_extra (クライアント側の認証を必要とせずにサブスクリプションを作成するコマンド) で可能だそうです。可能ですか、それともスクリプトを使用して ejabberd データベースを手動で操作する必要がありますか (デフォルトの Mnesia データベースから別のデータベース、たとえば MySQL に転送した場合)。

前もって感謝します。

役に立ちましたか?

解決 2

さてさて、ここで私たちがやったことだ。

代わりに、カスタム認証/外部認証の

1)、我々はユーザー登録後にXMPP上のユーザーアカウントを作成します。

ジュリアンが指摘したように、

2)これに対する答えは、セッションの添付ファイルです。私たちは、セッションを作成し、セッションIDとRIDを返すPHPスクリプトを作成しました。 (文書の準備ができた後)は、ユーザーのログイン時にAJAXを通じて呼び出されます。

3)私はジュリアンの投稿にコメントで言ったように、我々はmod_admin_extraを使用。私たちは、名簿を作成するために、(W / Cあなたはスタンザを送信することができます/実行がRESTスタイルのコマンド)mod_restと相まって。ユーザーが当社のウェブサイト上で連絡先を作成するたびに呼び出されますmod_admin_extra上* add_rosteritem *コマンドがあります。

他のヒント

私たちは( superfeedr の)XMPPは、アプリケーションの一部である類似したWebアプリケーションを持っています。

私たちが行った選択は、WebアプリケーションのストレージおよびXMPPサーバーの両方accrossユーザーデータを複製しないことです。あなたはejabberdとWebアプリケーションのデータストアを使用してを、独自の認証メカニズムを構築することができ、それは非常に簡単です。このように、あなただけのユーザーデータが格納されている1つの場所を持っているとejabberdユーザーを作成する必要はありません。

はこれを行うことにより、あなたも自分のパスワードを知っているかさえ明らか:)に格納することなく、Webアプリケーションのユーザーにログインすることができます。簡単な方法は、<のhref = "http://metajack.im/2008/10/03/getting-attachedとして、サーバー上で(ボッシュ経由)セッション認証を行い、HTML応答にセッションIDを渡すことです-to-詩句/」REL = "noreferrer"> @metajackにより、をここで説明する。

第3部はトリッキーかもしれませんが、私はこのとない内蔵の「名簿」を使用して...しかし、それは(内部または外部)非常に独自のコンポーネントを作成伴うことがバイパス実際には非常に確認することができますよ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top