Chain:
Step 1 -> [facebook, google]
Step 2 -> [password]
Step 3 -> [sms]
Step 2 -> [webauthn]
{
"name": "....",
"type": "chains",
"chains": [
{
"criteria": [ //Step 1 factors
{
"factor": {
"type":"claims_provider",
"profile": {
"id": "facebook profile id"
}
},
"factor": {
"type":"claims_provider",
"profile": {
"id": "google profile id"
}
}
}
],
"next": [
{
"criteria": [ //Step 2 factors
{
"factor": {
"type": "password"
}
}
],
"next": [
{
"criteria": [ //Step 3 factors
{
"factor": {
"type": "sms"
}
}
]
}
]
},
{
"criteria": [ //Step 2 factors
{
"factor": {
"type": "webauthn"
}
}
]
}
]
}
]
}
Chain 1:
Step 1 -> [sms, call]
Step 2 -> [webauthn]
Chain 2:
Step 1 -> [password]
Step 2 -> [email]
{
"name": "....",
"type": "chains",
"chains": [
{ //1st chain
"criteria": [ //Step 1 factors
{
"factor": {
"type": "sms"
}
},
{
"factor": {
"type": "call"
}
}
],
"next":[ //Step 2 factors
{
"criteria": [
{
"factor": {
"type":"webauthn"
}
}
]
}
]
},
{ //2nd chain
"criteria": [ //Step 1 factors
{
"factor": {
"type": "password"
}
}
],
"next": [
{
"criteria": [ //Step 2 factors
{
"factor": {
"type": "email"
}
}
]
}
]
}
]
}
If
criteria
is confusing we could use the object type asfactors
, so the chain object would look like this: