diff options
author | Sebastian <sebasjm@gmail.com> | 2022-06-03 12:18:45 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-06-03 12:18:45 -0300 |
commit | 8e9bca396ec0d78c67d682f4ae01b67ccf761380 (patch) | |
tree | 9121e6cd06dbec96c83e547aae3e0ae617223601 | |
parent | 78b55181853b93363b325715207835b11f8c9ad2 (diff) | |
download | wallet-core-8e9bca396ec0d78c67d682f4ae01b67ccf761380.tar.xz |
do not add provider without salt
-rw-r--r-- | packages/anastasis-core/src/index.ts | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/anastasis-core/src/index.ts b/packages/anastasis-core/src/index.ts index 14ddf815d..b5e0517e6 100644 --- a/packages/anastasis-core/src/index.ts +++ b/packages/anastasis-core/src/index.ts @@ -169,8 +169,8 @@ export class ReducerError extends Error { constructor(public errorJson: ErrorDetails) { super( errorJson.message ?? - errorJson.hint ?? - `${TalerErrorCode[errorJson.code]}`, + errorJson.hint ?? + `${TalerErrorCode[errorJson.code]}`, ); // Set the prototype explicitly. @@ -301,6 +301,13 @@ async function getProviderInfo( } try { const jsonResp: EscrowConfigurationResponse = await resp.json(); + if (!jsonResp.provider_salt) { + return { + status: "error", + code: TalerErrorCode.ANASTASIS_REDUCER_PROVIDER_CONFIG_FAILED, + hint: "provider did not have provider salt", + } + } return { status: "ok", http_status: 200, @@ -552,8 +559,8 @@ async function uploadSecret( "content-type": "application/json", ...(paySecret ? { - "Anastasis-Payment-Identifier": paySecret, - } + "Anastasis-Payment-Identifier": paySecret, + } : {}), }, body: JSON.stringify(tur), @@ -644,8 +651,8 @@ async function uploadSecret( [ANASTASIS_HTTP_HEADER_POLICY_META_DATA]: metadataEnc, ...(paySecret ? { - "Anastasis-Payment-Identifier": paySecret, - } + "Anastasis-Payment-Identifier": paySecret, + } : {}), }, body: decodeCrock(encRecoveryDoc), @@ -656,12 +663,12 @@ async function uploadSecret( let policyExpiration: TalerProtocolTimestamp = { t_s: 0 }; try { policyVersion = Number(resp.headers.get("Anastasis-Version") ?? "0"); - } catch (e) {} + } catch (e) { } try { policyExpiration = { t_s: Number(resp.headers.get("Anastasis-Policy-Expiration") ?? "0"), }; - } catch (e) {} + } catch (e) { } successDetails[prov.provider_url] = { policy_version: policyVersion, policy_expiration: policyExpiration, |