aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-11-05 18:55:52 +0100
committerFlorian Dold <florian@dold.me>2021-11-05 18:55:52 +0100
commitd43ab6af87f2729b37548336d42ffce0ed3c879e (patch)
tree1bbdf2cf08f0d18c7116008accfa1f7a40c8776f
parent842cc327541ebcfc761208f42bf5f74e22c6283c (diff)
anastasis-core: challenge feedback
-rw-r--r--packages/anastasis-core/src/index.ts17
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",
},
},
};