{
  "startNodeId": "saisie",
  "steps": {
    "saisie": {
      "type": "PageNode",
      "nodes": [
        {
          "type": "PasskeyConditionalAuthenticationNode",
          "config": {
            "rpId": "localhost",
            "origin": "http://localhost:8080"
          },
          "layout": {
            "name": "Suggestion de passkey"
          },
          "stage": "PasskeyConditionalAuthenticationNode"
        },
        {
          "type": "UsernameCollectorNode",
          "layout": {
            "name": "Identifiant"
          },
          "stage": "UsernameCollectorNode"
        }
      ],
      "outcomes": {
        "outcome": "passkey"
      },
      "layout": {
        "x": 40,
        "y": 200,
        "name": "Identifiant ou passkey"
      },
      "stage": "PasskeyConditionalAuthenticationNode-UsernameCollectorNode"
    },
    "passkey": {
      "type": "PasskeyConditionalDecisionNode",
      "outcomes": {
        "true": "succes",
        "false": "motdepasse"
      },
      "layout": {
        "x": 360,
        "y": 230,
        "name": "Passkey utilisée ?"
      },
      "stage": "PasskeyConditionalDecisionNode"
    },
    "motdepasse": {
      "type": "PasswordCollectorNode",
      "outcomes": {
        "outcome": "annuaire"
      },
      "layout": {
        "x": 680,
        "y": 330,
        "name": "Mot de passe"
      },
      "stage": "PasswordCollectorNode"
    },
    "annuaire": {
      "type": "DataStoreNode",
      "config": {
        "authLevel": 0
      },
      "outcomes": {
        "true": "enrole",
        "false": "echec"
      },
      "layout": {
        "x": 1000,
        "y": 330,
        "name": "Vérification du mot de passe"
      },
      "stage": "DataStoreNode"
    },
    "enrole": {
      "type": "PasskeyEnrollmentCheckNode",
      "outcomes": {
        "enrolled": "succes",
        "notEnrolled": "enregistrement"
      },
      "layout": {
        "x": 1320,
        "y": 330,
        "name": "A déjà une passkey ?"
      },
      "stage": "PasskeyEnrollmentCheckNode"
    },
    "enregistrement": {
      "type": "PasskeyRegistrationNode",
      "config": {
        "rpId": "localhost",
        "origin": "http://localhost:8080",
        "rpName": "TOSIAM"
      },
      "outcomes": {
        "registered": "succes",
        "error": "succes"
      },
      "layout": {
        "x": 1640,
        "y": 430,
        "name": "Enregistrement d'une passkey"
      },
      "stage": "PasskeyRegistrationNode"
    },
    "succes": {
      "type": "SuccessNode",
      "layout": {
        "x": 1960,
        "y": 180,
        "name": "Succès"
      },
      "stage": "SuccessNode"
    },
    "echec": {
      "type": "FailureNode",
      "layout": {
        "x": 1960,
        "y": 560,
        "name": "Échec"
      },
      "stage": "FailureNode"
    }
  }
}
