1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-16 06:15:07 -05:00

XEP-0389: change how the challenge list works

This commit is contained in:
Sam Whited 2020-04-22 11:27:58 -04:00
parent 0707b4e3d0
commit 12396476b8

View File

@ -144,7 +144,8 @@
<dt>Flow</dt> <dt>Flow</dt>
<dd> <dd>
A flow, or more specifically a "registration flow" or "recovery flow", A flow, or more specifically a "registration flow" or "recovery flow",
is an ordered collection of challenges. is a collection of challenges that together can be used to gather enough
information to register a new account or recover an existing account.
</dd> </dd>
</di> </di>
</dl> </dl>
@ -210,11 +211,11 @@
for the "xml:lang" attribute. for the "xml:lang" attribute.
Clients MAY use the name element to show the different flows to the user and Clients MAY use the name element to show the different flows to the user and
ask them to pick between them. ask them to pick between them.
Each flow must also contain a list of &lt;challenge/&gt; elements Each flow must also contain an unordered set of &lt;challenge/&gt; elements
representing the various challenges that must be completed to complete the representing the various challenges that must be completed to complete the
registration or recovery flow. registration or recovery flow.
Each &lt;challenge/&gt; element contains a string that uniquely (within the Each &lt;challenge/&gt; element contains a "type" attribute that uniquely
given parent element) identifies the challenge that will be offered. identifies the challenge for the purpose of determining if it is supported.
If a flow would offer the same challenge twice (eg. two dataforms asking for If a flow would offer the same challenge twice (eg. two dataforms asking for
different data), the challenge SHOULD only be listed once in the flow different data), the challenge SHOULD only be listed once in the flow
element. element.
@ -236,22 +237,22 @@
<register xmlns='urn:xmpp:register:0'> <register xmlns='urn:xmpp:register:0'>
<flow id='0'> <flow id='0'>
<name>Verify with SMS</name> <name>Verify with SMS</name>
<challenge>jabber:x:data</challenge> <challenge type='jabber:x:data'/>
</flow> </flow>
<flow id='1'> <flow id='1'>
<name>Verify by Phone Call</name> <name>Verify by Phone Call</name>
<challenge>jabber:x:data</challenge> <challenge type='jabber:x:data'/>
</flow> </flow>
<flow id='2'> <flow id='2'>
<name>Verify with the web</name> <name>Verify with the web</name>
<challenge>jabber:x:data</challenge> <challenge type='jabber:x:data'/>
<challenge>jabber:x:oob</challenge> <challenge type='jabber:x:oob'/>
</flow> </flow>
</register> </register>
<recovery xmlns='urn:xmpp:register:0'> <recovery xmlns='urn:xmpp:register:0'>
<flow id='0'> <flow id='0'>
<name>Visit Password Recovery Site</name> <name>Visit Password Recovery Site</name>
<challenge>jabber:x:oob</challenge> <challenge type='jabber:x:oob'/>
</flow> </flow>
</recovery> </recovery>
</stream:features>]]></example> </stream:features>]]></example>