From c00d1cb084c7c84a74ae39b1848f15c159c58f80 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 20 Jan 2022 19:38:55 +0100 Subject: implement new reducer logic (completely untested though) --- doc/sphinx/reducer.rst | 45 ++++++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 13 deletions(-) (limited to 'doc/sphinx') diff --git a/doc/sphinx/reducer.rst b/doc/sphinx/reducer.rst index 0ab7f2e..cc696a9 100644 --- a/doc/sphinx/reducer.rst +++ b/doc/sphinx/reducer.rst @@ -499,8 +499,8 @@ If contacting the provider failed, the information returned is: **add_provider**: -This operation can be performed in states ``USER_ATTRIBUTES_COLLECTING`` -and ``SECRET_SELECTING``. It +This operation can be performed in state ``USER_ATTRIBUTES_COLLECTING``. +It adds one or more Anastasis providers to the list of providers the reducer should henceforth consider. Note that removing providers is not possible at this time. @@ -1308,18 +1308,37 @@ Afterwards, the reducer transitions into the ``SECRET_SELECTING`` state: } } -Here, it is again possible to add providers (see above under -``USER_ATTRIBUTES_COLLECTING``). Typically, the special policy -discovery process (outside of the state machine) is expected to be -run in this state. The discovery process will use the state -(and in particular the identity attributes and the list of -active providers) to discover a set of possible recovery documents -with their respective provider URLs, policy version and identity -attribute mask. An identity attribute mask is a bitmask that +Typically, the special policy discovery process (outside of the state +machine) is expected to be run in this state. The discovery process +will use the state (and in particular the identity attributes and the +list of active providers) to discover a set of possible recovery +documents with their respective provider URLs, policy version and +identity attribute mask. An identity attribute mask is a bitmask that describes which of the optional attributes from the identity -attributes should be omitted to recover this backup. Once the -user has selected a backup providing this triplet, it is possible -to proceed. +attributes should be omitted to recover this backup. Once the user +has selected a backup providing this triplet, it is possible to +proceed using ``next``. + +Especially if the discovered policies are inadequate, it is again +possible to add providers using ``add_provider``. + + +**add_provider**: + +This operation can be performed in state ``SECRET_SELECTING``. It +adds one additional Anastasis provider to the list of providers that +the discovery process should henceforth consider. Note that removing +providers is not possible at this time. + +Here, the client must provide an object with the base URL of the +providers to add, for example: + +.. code-block:: json + + { + "provider_url" : "http://localhost:8088/" + } + **next**: -- cgit v1.2.3