Hi all, I'm a XMPP newbie. I have been wondering about this question for days and if you can help me find the solution, that would be so great (^-^).

I was trying to develope a simple web conference software which provide chat and whiteboard service to users.
My client connects to my server via TCP/IP. I used XMPP for authentication, register and sending messages. For the whiteboard feature,
I used my own protocol.
My goal is :
-   Everyone who has the right JID/Password can login then use the services.
-   Users at my server can still send messages to other users at any XMPP servers while taking part in the conference.


MY AUTHENTICATION USE CASE

           JID/password                       JID/password
myClient    ---->       myserver.org        --->           jabber.org
               <----                                   <---
             login result                          login result

I was wondering if i can do this with my client:

-  The user try to login by entering JID/Password.

-  In case the JID belongs to my server, the authentication will be done normally using SASL or Non-SASL.(2 ways to do XMPP authentication that I know - If there's any else, pls give me some information. Thanks in advance)

-  In case the JID belongs to other server (ex: jabber.org), my server will act as a client with that JID/password to jabber.org server. It will try to do an authentication with jabber.org on behalf of the user (sending the JID/password to jabber.org). In here, my server just want to ask jabber.org if that was the correct JID/Password set at jabber.org.

jabber.org will send the login result back.

-  If that was the correct JID/Password set at jabber.org. Yes, now my server knows who the user is then let him in and use my services.
   Else, sorry, you've not been authenticated. I can't let you in.

Can I do that??

SENDING MESSAGES SCENARIO
After the authentication has been done:
In case the JID belongs to my server, sending messages has no problems.

-  In case the JID belongs to jabber.org, my server now will act like a forward server. It receives messages from myClient then sends to jabber.org on behalf of that user.

              message                         
message
myClient    ---->       myserver.org        --->           jabber.org
                <----                                  <---
             
message                          message

Is that possible??

Thanks for being patient, reading this such long mail :">. I'm looking forward to any replies :)

Reply via email to