diff options
Diffstat (limited to 'doc/sphinx/reducer.rst')
-rw-r--r-- | doc/sphinx/reducer.rst | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/doc/sphinx/reducer.rst b/doc/sphinx/reducer.rst index 68df5b1..dcfc522 100644 --- a/doc/sphinx/reducer.rst +++ b/doc/sphinx/reducer.rst | |||
@@ -1591,7 +1591,7 @@ that applications must all handle. States other than ``solved`` are: | |||
1591 | } | 1591 | } |
1592 | } | 1592 | } |
1593 | 1593 | ||
1594 | - **rate-limit-exceeded**: | 1594 | - **rate-limit-exceeded**: This indicates that the user has made too many invalid attempts in too short an amount of time. |
1595 | 1595 | ||
1596 | .. code-block:: json | 1596 | .. code-block:: json |
1597 | 1597 | ||
@@ -1609,7 +1609,7 @@ that applications must all handle. States other than ``solved`` are: | |||
1609 | } | 1609 | } |
1610 | } | 1610 | } |
1611 | 1611 | ||
1612 | - **authentication-timeout**: | 1612 | - **authentication-timeout**: This indicates that the challenge is awaiting for some external authentication process to complete. The application should ``poll`` for it to complete, or proceed with selecting other challenges. |
1613 | 1613 | ||
1614 | .. code-block:: json | 1614 | .. code-block:: json |
1615 | 1615 | ||
@@ -1627,6 +1627,46 @@ that applications must all handle. States other than ``solved`` are: | |||
1627 | } | 1627 | } |
1628 | } | 1628 | } |
1629 | 1629 | ||
1630 | - **authentication-instructions**: This indicates that the challenge requires the user to perform some authetnication method-specific actions. Details about what the user should do are provided. | ||
1631 | |||
1632 | .. code-block:: json | ||
1633 | |||
1634 | { | ||
1635 | "recovery_state": "CHALLENGE_SELECTING", | ||
1636 | "recovery_information": { | ||
1637 | "...": "..." | ||
1638 | } | ||
1639 | "selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0", | ||
1640 | "challenge_feedback": { | ||
1641 | "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0": { | ||
1642 | "state": "external-instructions", | ||
1643 | "method": "iban", | ||
1644 | "details": { | ||
1645 | "...": "..." | ||
1646 | } | ||
1647 | } | ||
1648 | } | ||
1649 | } | ||
1650 | |||
1651 | The specific instructions depend on the ``method``. | ||
1652 | They include: | ||
1653 | |||
1654 | - **iban**: The user must perform a wire transfer from their account to the Anastasis provider. | ||
1655 | |||
1656 | .. code-block:: json | ||
1657 | |||
1658 | { | ||
1659 | "challenge_amount": "EUR:1", | ||
1660 | "credit_iban": "DE12345789000", | ||
1661 | "business_name": "Data Loss Incorporated", | ||
1662 | "wire_transfer_subject": 987654321 | ||
1663 | } | ||
1664 | |||
1665 | Note that the actual wire transfer subject must contain both | ||
1666 | the numeric ``wire_transfer_subject`` given above as well as | ||
1667 | the string ``Anastasis``. Thus, when generating human-readable | ||
1668 | instructions from the above, the display output should be | ||
1669 | ``Anastasis 987654321``. | ||
1630 | 1670 | ||
1631 | **poll:** | 1671 | **poll:** |
1632 | 1672 | ||