diff options
author | Florian Dold <florian@dold.me> | 2021-11-05 18:55:52 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-11-05 18:55:52 +0100 |
commit | d43ab6af87f2729b37548336d42ffce0ed3c879e (patch) | |
tree | 1bbdf2cf08f0d18c7116008accfa1f7a40c8776f | |
parent | 842cc327541ebcfc761208f42bf5f74e22c6283c (diff) |
anastasis-core: challenge feedback
-rw-r--r-- | packages/anastasis-core/src/index.ts | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/packages/anastasis-core/src/index.ts b/packages/anastasis-core/src/index.ts index 362ac3317..3be0d7b76 100644 --- a/packages/anastasis-core/src/index.ts +++ b/packages/anastasis-core/src/index.ts @@ -952,6 +952,21 @@ async function requestTruth( } if (resp.status === HttpStatusCode.Forbidden) { + const body = await resp.json(); + if ( + body.code === TalerErrorCode.ANASTASIS_TRUTH_CHALLENGE_RESPONSE_REQUIRED + ) { + return { + ...state, + recovery_state: RecoveryStates.ChallengeSolving, + challenge_feedback: { + ...state.challenge_feedback, + [truth.uuid]: { + state: ChallengeFeedbackStatus.Pending, + }, + }, + }; + } return { ...state, recovery_state: RecoveryStates.ChallengeSolving, @@ -959,7 +974,7 @@ async function requestTruth( ...state.challenge_feedback, [truth.uuid]: { state: ChallengeFeedbackStatus.Message, - message: "Challenge should be solved", + message: body.hint ?? "Challenge should be solved", }, }, }; |