[Standards] Multi-stage registrations (Stephen Paul Weber)

Peter Waher peterwaher at hotmail.com
Wed Feb 3 18:25:20 UTC 2016


Hello Stephen
 
We've used many multi-stage forms, which registrations is just an example. This is why the Dynamic Forms XEP (0336) was created:
http://xmpp.org/extensions/xep-0336.html
 
This XEP allows the server to respond to user actions in the form, including changing the form (adding, updating, removing fields) etc.
 
Best regards,
Peter Waher
 
> Date: Wed, 3 Feb 2016 10:32:53 -0500
> From: Stephen Paul Weber <singpolyma at singpolyma.net>
> To: standards at xmpp.org
> Subject: [Standards] Multi-stage registrations
> Message-ID: <20160203153253.GA3003 at singpolyma-liberty>
> Content-Type: text/plain; charset="us-ascii"; Format="flowed"
> 
> This is in the context of transports, but could apply to account 
> registration as well.  Sometimes one needs multiple steps in a registration 
> process, usually because of an out-of-band verification that needs to happen 
> (think: you give me phone number, I sms you a code, you give me the code.  
> I need your phone number in order to send you the code, but now you've 
> submitted the form already)
> 
> This is not a theoretical use case, I am using the below with a transport 
> that I am implementing right now.
> 
> Strawman proposal: new XEP that allows XEP-0077 iq results to return a new 
> set of fields and/or data form.  Supporting clients see this form in the 
> result and display to the user as per usual.  Non-supporting clients report 
> "success" because they ignore the form, and the user can re-initiate 
> registration with the entity to resume mid-flow.
> 
> Example flow for transport registration use case with SMS verification:
> 
> == Entity Requests Registration Fields from Host ==
> 
> <iq type='get' id='reg1' to='sms.shakespeare.lit'>
>    <query xmlns='jabber:iq:register'/>
> </iq>
> 
> == Host Returns Registration Fields to Entity ==
> 
> <iq type='result' id='reg1'>
>    <query xmlns='jabber:iq:register'>
>      <instructions>
>        We will send you a code to verify your phone number.
>      </instructions>
>      <phone/>
>    </query>
> </iq>
> 
> == Entity Provides Required Information ==
> 
> <iq type='set' id='reg2'>
>    <query xmlns='jabber:iq:register'>
>      <phone>15550000</phone>
>    </query>
> </iq>
> 
> == Host Informs Entity of More Fields Needed ==
> 
> <iq type='result' id='reg2'>
>    <query xmlns='jabber:iq:register'>
>      <instructions>
>        Enter the code you received via SMS
>      </instructions>
>      <password/>
>    </query>
> </iq>
> 
> == Entity Provies Further Information ==
> 
> <iq type='set' id='reg3'>
>    <query xmlns='jabber:iq:register'>
>      <password>123456</password>
>    </query>
> </iq>
> 
> == Host Informs Entity of Successful Registration ==
> 
> <iq type='result' id='reg3'/>
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/standards/attachments/20160203/1dc80871/attachment.html>


More information about the Standards mailing list