Below is the workflow of a challenge & response process
The 3rd-Party application calls the Dualshield API /auth/generate to generate a Challenge Code | Method:/auth/getChallengeCode
Parameters:
{
"user":
{
"loginName":"login name",
"domain.id":"domainid"
},
"token":
{
"id":"tid1"
},
return:["id", "code", "starts", "expires"]
}
Response:
{
"error":0,
"result":{"id":1, "code":"xxx", "starts":"xxx", "expires":"xxx"}
}
Examples: The GridGo challenge code is the matrix in JSON string
{
"user":
{
"loginName":"login name",
"domain.id":"domainid"
},
"token":
{
"product.method":"GridGo"
},
"return":["id", "code", "reference"]
}
Response:
{
"error":0,
"result":
{
"id":"#i#_ChallengeCode_22",
"code":
"{\"grid\":[\"53c1s3npxgws4pw6jp5kx3\",
\"scmmu698wp9t1sag5spxzz\",
\"gmmzdj97x3jn4bpe9cvu1r\",
\"ps0hs5g2nh5xer6r93fj7x\",
\"mn8zbs5nnnm8rxt2r5ekd0\",
\"0jr935hx618a3vcvzdehn0\",
\"9xtr71jff7jaz255n5rtc4\",
\"dr96rxn7pgs3anmfzpeu7y\",
\"uf06ttmc3kfvhrun2remk9\",
\"z7c3ytf9u2xtfmc60p06ax\"],
\"rows\":10,
\"cols\":22,
\"indiecs\":\"ABCDEFGHJKMNPRSTUVWXY\"
}",
"reference":"10948e64-b829-47be-be2a-414217bee16f"
}
}
|
The 3-Party application displays the Challenge Code on the screen, e.g. 07880384 |
Enter the challenge code as shown below on to your MobileID app: 07880384 |
The user opens the MobileID app, and switches to the C/R page | |
The user enters the Challenge Code in the MobnileID app, i.e. 07880384 | |
The user presses "Generate Response" to generate the Response Code, e.g. 990767 | |
The user enters the Response Code in the 3-Party application, i.e. 990767 | Enter the response code
|
The 3rd-Party application calls the DualShield API /auth/verifyResponse to verify the Response Code | Method:/auth/verifyResponse Parameters:
{
"user":
{
"id":"userid"
},
"token":
{
"serial":"10000000"
},
"credential":
{
"otp":"xxxxxx",
"cc":"xxxxxx"
}
}
Response:
|
|
|