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
1 changed files with 10 additions and 9 deletions

View File

@ -144,7 +144,8 @@
<dt>Flow</dt>
<dd>
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>
</di>
</dl>
@ -210,11 +211,11 @@
for the "xml:lang" attribute.
Clients MAY use the name element to show the different flows to the user and
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
registration or recovery flow.
Each &lt;challenge/&gt; element contains a string that uniquely (within the
given parent element) identifies the challenge that will be offered.
Each &lt;challenge/&gt; element contains a "type" attribute that uniquely
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
different data), the challenge SHOULD only be listed once in the flow
element.
@ -236,22 +237,22 @@
<register xmlns='urn:xmpp:register:0'>
<flow id='0'>
<name>Verify with SMS</name>
<challenge>jabber:x:data</challenge>
<challenge type='jabber:x:data'/>
</flow>
<flow id='1'>
<name>Verify by Phone Call</name>
<challenge>jabber:x:data</challenge>
<challenge type='jabber:x:data'/>
</flow>
<flow id='2'>
<name>Verify with the web</name>
<challenge>jabber:x:data</challenge>
<challenge>jabber:x:oob</challenge>
<challenge type='jabber:x:data'/>
<challenge type='jabber:x:oob'/>
</flow>
</register>
<recovery xmlns='urn:xmpp:register:0'>
<flow id='0'>
<name>Visit Password Recovery Site</name>
<challenge>jabber:x:oob</challenge>
<challenge type='jabber:x:oob'/>
</flow>
</recovery>
</stream:features>]]></example>