mastercard-client-encryption 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08ad02a73785dc39ed291c030224d1379854d643b90495b92e767d8acbe288df'
|
4
|
+
data.tar.gz: 5e480d366d9f64ea262d2939acd76651f933d3c830a3985f7ce9cd3850c72856
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a38444c27685c44adb3256716a5ee818e79ba0b2c54c717f28b537c43928686e16c29d24001cfff997c7a993cbfb8158587b4d83ff5143aca51091cd85dd8eb6
|
7
|
+
data.tar.gz: c27f71c809642ff8222aa78ca3325f2f2d638165eeabf59ea4871e36bbc0ba508a953528d279eb9a1f6d5cf90e168f93450e0f96db8a084e554e9c3ac900b753
|
@@ -76,6 +76,9 @@ module McAPI
|
|
76
76
|
|
77
77
|
decrypted = enc.decrypt(JSON.generate(to_decrypt, symbolize_names: false))
|
78
78
|
body = JSON.generate(JSON.parse(decrypted)['body'])
|
79
|
+
if enc.instance_of? McAPI::Encryption::JweEncryption
|
80
|
+
body = McAPI::Utils.parse_decrypted_payload(body)
|
81
|
+
end
|
79
82
|
response.options[:response_body] = JSON.generate(JSON.parse(body))
|
80
83
|
end
|
81
84
|
# noinspection RubySuperCallWithoutSuperclassInspection
|
@@ -186,5 +186,14 @@ module McAPI
|
|
186
186
|
def self.encryption_param?(enc_param, body_map)
|
187
187
|
enc_param.length == 1 && body_map.length == 1
|
188
188
|
end
|
189
|
+
|
190
|
+
def self.parse_decrypted_payload(payload)
|
191
|
+
parsed_payload = payload.gsub("\\u000f", "")
|
192
|
+
parsed_payload = parsed_payload.gsub("\\", "")
|
193
|
+
if parsed_payload[0] == "\""
|
194
|
+
parsed_payload = parsed_payload.delete_prefix('"').delete_suffix('"')
|
195
|
+
end
|
196
|
+
parsed_payload
|
197
|
+
end
|
189
198
|
end
|
190
199
|
end
|