summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kyclogic/plugin_kyclogic_persona.c40
1 files changed, 25 insertions, 15 deletions
diff --git a/src/kyclogic/plugin_kyclogic_persona.c b/src/kyclogic/plugin_kyclogic_persona.c
index 74bc53f02..960b9f0e0 100644
--- a/src/kyclogic/plugin_kyclogic_persona.c
+++ b/src/kyclogic/plugin_kyclogic_persona.c
@@ -593,8 +593,8 @@ handle_initiate_finished (void *cls,
{
const char *msg;
- /* FIXME: figure out how to nicely extract
- the rate limit data from the reply */
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Rate limiting requested:\n");
json_dumpf (j,
stderr,
JSON_INDENT (2));
@@ -1153,18 +1153,27 @@ handle_proof_finished (void *cls,
break;
}
- // FIXME: do not generate kyc-completed from template, do redirect!
- proof_generic_reply (ph,
- TALER_KYCLOGIC_STATUS_SUCCESS,
- account_id,
- inquiry_id,
- MHD_HTTP_OK,
- "persona-kyc-completed",
- GNUNET_JSON_PACK (
- GNUNET_JSON_pack_allow_null (
- GNUNET_JSON_pack_object_incref ("attributes",
- (json_t *)
- data))));
+ {
+ struct MHD_Response *resp;
+ struct GNUNET_TIME_Absolute expiration;
+
+ expiration = GNUNET_TIME_relative_to_absolute (ph->pd->validity);
+ resp = MHD_create_response_from_buffer (0,
+ "",
+ MHD_RESPMEM_PERSISTENT);
+ GNUNET_break (MHD_YES ==
+ MHD_add_response_header (resp,
+ MHD_HTTP_HEADER_LOCATION,
+ ph->pd->post_kyc_redirect_url));
+ TALER_MHD_add_global_headers (resp);
+ ph->cb (ph->cb_cls,
+ TALER_KYCLOGIC_STATUS_SUCCESS,
+ account_id,
+ inquiry_id,
+ expiration,
+ MHD_HTTP_SEE_OTHER,
+ resp);
+ }
GNUNET_JSON_parse_free (ispec);
}
GNUNET_JSON_parse_free (spec);
@@ -1454,6 +1463,7 @@ webhook_generic_reply (struct TALER_KYCLOGIC_WebhookHandle *wh,
resp = MHD_create_response_from_buffer (0,
"",
MHD_RESPMEM_PERSISTENT);
+ TALER_MHD_add_global_headers (resp);
wh->cb (wh->cb_cls,
wh->legitimization_uuid,
&wh->h_payto,
@@ -1755,7 +1765,7 @@ async_webhook_reply (void *cls)
(0 == wh->legitimization_uuid)
? NULL
: &wh->h_payto,
- NULL, /* FIXME: never known here, but maybe prevent clearing it in the DB as it should already be there? */
+ NULL,
wh->inquiry_id, /* provider legi ID */
TALER_KYCLOGIC_STATUS_PROVIDER_FAILED,
GNUNET_TIME_UNIT_ZERO_ABS, /* expiration */