[jdev] Re: Component for registering users

Wojtek wode at winuel.com.pl
Mon Mar 22 06:39:28 CST 2004


Hi,


Not all is clear for me.  Write whole packets, please.


> will create accounts on the fly for any successfully auth'd user , if
> they don't have one...

If an user is auth'd why hasn't he an account?


Your component (comp.server.com) receives a packet of:
<route type='auth' ...>
   <iq type='set' ...>
     <query xmlns='jabber:iq:auth'> ... </query>
   </iq>
</route>

How is it routed from jsm?  Is registration enabled in jabber.xml file?


Then the component sends something like:
<xdb type='set' to='user at server.com' from='comp.server.com' 
xdbns='jabber:iq:auth'>
   <username>user</username>
</xdb>


Then the component sends:
<xdb type='set' to='user at server.com' from='comp.server.com'>
   <query xmlns='jabber:iq:auth' xdbns='jabber:iq:auth'>
     <user>user</user>
     <password>...</password>
     <resource>user's resource</resourc>
     <x xmlns='jabber:x:delay' stamp='20030324T08:56:10'>Registered</x>
   </query>
</xdb>

I think it should be jabber:iq:register.  Shouldn't it?

What is the final <route/> packet?


So, using the above technique I can try the following:
1. disable user registering in jabber.xml
2. login as admin with some client (the component rejects other user's 
packets)
3. send custom <message/> or <iq/> to comp.server.com (the component)
    with XML console (or silently with dedicated client)
4. analyze request
5. send
      <xdb type='set' to='user at server.com' ...>
        <query xmlns='jabber:iq:register' xdbns='jabber:iq:register'>
          <username>user</username>
          <password>123</password>
          ...
        </query>
      </xdb>
    or respond with an error
6. have user at server.com registered with 123 password

Will it work?


Wojtek


On Fri, 19 Mar 2004 07:36:09 -0500, Katz, Dov B (IT) 
<Dov.Katz at morganstanley.com> wrote:

> I've been able to do it in a custom auth module I wrote in java... It
> will create accounts on the fly for any successfully auth'd user , if
> they don't have one...
>
> Once I have a gateway connected to the jabberserver as
> "gateway.myserver.com" I do this:
>
> When I receive a route type="auth" with an iq "set" in it, I do the
> necessary checks, and route back an error if it fails.
>
> If it succeeds, I send xdb "set" to "user at server.com" from
> "myserver.com" with the xdbns "jabber:iq:auth", and
> <username>user</username> in it.
>
> Then I send back a xdb set to the same to/from pair with <query
> xmlns='jabber:iq:auth'><resource>user's resource</resourc>  with
> jabber:x:delay in there of the current time, with the content
> "Registered"
>
> After doing that, I route an auth "result" IQ packet back to the user.
>
> It works fine for me, and there hasn't been an error since going live
> with almost 1000 new user registrations.
>
> HTH,
> -Dov
>
>> -----Original Message-----
>> From: jdev-bounces at jabber.org
>> [mailto:jdev-bounces at jabber.org] On Behalf Of wode at winuel.com.pl
>> Sent: Friday, March 19, 2004 5:59 AM
>> To: jdev at jabber.org
>> Subject: [jdev] Component for registering users
>>
>> Hi
>>
>>
>> Is it possible to write component that registers users?
>> I'd like to disable registering by users themselves.
>>
>> Administrator could then send <message/> or <iq/> packet to
>> component JID with some registration request.
>> Can the component do registration job sending some packets to
>> jsm, xdb or etc.?
>>
>>
>> Wojtek
>>
>> _______________________________________________
>> jdev mailing list
>> jdev at jabber.org
>> https://jabberstudio.org/mailman/listinfo/jdev
>>
> --------------------------------------------------------
>
> NOTICE: If received in error, please destroy and notify sender.  Sender 
> does not waive confidentiality or privilege, and use is prohibited.
>




More information about the JDev mailing list