commit 9ee5d90ab358dbac83faefca0ef4ee7cf6e3ba01
parent a347e11359648bad1291f28f4f4fd1ac6426a8ac
Author: Christian Grothoff <christian@grothoff.org>
Date: Wed, 17 Feb 2021 12:57:21 +0100
document 'add_provider' transition
Diffstat:
| M | anastasis.rst | | | 177 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 177 insertions(+), 0 deletions(-)
diff --git a/anastasis.rst b/anastasis.rst
@@ -1310,6 +1310,183 @@ Optional arguments to try uploading recovery document to specific providers (exa
Backup transitions
""""""""""""""""""
+**add_provider:**
+
+This operation can be performed in state "AUTHENTICATIONS_EDITING".
+
+Arguments (example):
+
+.. code-block:: json
+
+ {
+ "urls": [
+ "http://localhost:8888/",
+ "http://localhost:8089/"
+ ]
+ }
+
+Example for an expected new state (presuming service on port 8089 is
+unreachable, service on port 8088 was previously known, and service on port
+8888 was now added):
+
+.. code-block:: json
+
+ {
+ "backup_state": "AUTHENTICATIONS_EDITING",
+ "continents": [
+ "Europe",
+ "North_America"
+ ],
+ "selected_continent": "Europe",
+ "countries": [
+ {
+ "code": "ch",
+ "name": "Switzerland",
+ "continent": "Europe",
+ "name_i18n": {
+ "de_DE": "Schweiz",
+ "de_CH": "Schwiiz",
+ "fr": "Suisse",
+ "en": "Swiss"
+ },
+ "currency": "CHF"
+ },
+ {
+ "code": "de",
+ "name": "Germany",
+ "continent": "Europe",
+ "continent_i18n": {
+ "de": "Europa"
+ },
+ "name_i18n": {
+ "de_DE": "Deutschland",
+ "de_CH": "Deutschland",
+ "fr": "Allemagne",
+ "en": "Germany"
+ },
+ "currency": "EUR"
+ }
+ ],
+ "selected_country": "de",
+ "currency": "EUR",
+ "required_attributes": [
+ {
+ "type": "string",
+ "name": "full_name",
+ "label": "Full name",
+ "label_i18n": {
+ "de_DE": "Vollstaendiger Name",
+ "de_CH": "Vollstaendiger Name",
+ "fr": "Nom complet",
+ "en": "Full name"
+ },
+ "widget": "anastasis_gtk_ia_full_name"
+ },
+ {
+ "type": "date",
+ "name": "birthdate",
+ "label": "Birthdate",
+ "label_i18n": {
+ "de_DE": "Geburtsdatum",
+ "de_CH": "Geburtsdatum",
+ "fr": "Date de naissance",
+ "en": "Birthdate"
+ },
+ "widget": "anastasis_gtk_ia_birthdate"
+ },
+ {
+ "type": "string",
+ "name": "social_security_number",
+ "label": "Social security number",
+ "label_i18n": {
+ "de_DE": "Sozialversicherungsnummer",
+ "de_CH": "Sozialversicherungsnummer",
+ "fr": "Numéro de sécurité sociale",
+ "en": "Social security number"
+ },
+ "widget": "anastasis_gtk_ia_ssn"
+ }
+ ],
+ "authentication_providers": {
+ "http://localhost:8089/": {
+ "error_code": 11,
+ "http_status": 0
+ },
+ "http://localhost:8088/": {
+ "methods": [
+ { "name" : "question",
+ "usage_fee" : "EUR:0.01" },
+ { "name" : "sms",
+ "usage_fee" : "EUR:0.55" }
+ ],
+ "annual_fee": "EUR:0.99",
+ "truth_upload_fee": "EUR:3.99",
+ "liability_limit": "EUR:1",
+ "currency": "EUR",
+ "truth_lifetime": { "d_ms" : 50000000 },
+ "storage_limit_in_megabytes": 1,
+ "provider_name": "Anastasis 4",
+ "salt": "CXAPCKSH9D3MYJTS9536RHJHCW"
+ }
+ "http://localhost:8888/": {
+ "methods": [
+ { "name" : "question",
+ "usage_fee" : "EUR:0.01" },
+ { "name" : "sms",
+ "usage_fee" : "EUR:0.55" }
+ ],
+ "annual_fee": "EUR:0.99",
+ "truth_upload_fee": "EUR:3.99",
+ "liability_limit": "EUR:1",
+ "currency": "EUR",
+ "truth_lifetime": { "d_ms" : 50000000 },
+ "storage_limit_in_megabytes": 1,
+ "provider_name": "Anastasis 42",
+ "salt": "BXAPCKSH9D3MYJTS9536RHJHCX"
+ }
+ },
+ "identity_attributes": {
+ "full_name": "Max Musterman",
+ "social_security_number": "123456789",
+ "birth_year": 2000,
+ "birth_month": 1,
+ "birth_day": 1
+ },
+ "authentication_methods": [
+ {
+ "method": "question",
+ "data": {
+ "question": "Whats the name of your grandmother?",
+ "answer": "Trudi"
+ }
+ },
+ {
+ "method": "email",
+ "data": {
+ "email_address": "max@musterman.de"
+ }
+ },
+ {
+ "method": "question",
+ "data": {
+ "question": "Whats the name of your grandfather?",
+ "answer": "Fredi"
+ }
+ },
+ {
+ "method": "question",
+ "data": {
+ "question": "Whats your name?",
+ "answer": "Hans"
+ }
+ }
+ ]
+ }
+
+
+
+
+
**add_authentication:**
Arguments (example):