Magento: Как расшифровать креды API PayPal, Braintree, SLI Systems
Столкнулся с тем, что потребовалось настроить на локале такой же конфиг как на одном из серверов. Все заработало, кроме sandbox-а PayPal-а. К сожалению, необходимых кредов у меня не было. В админке они скрыты, а в базе они были зашифрованы таким образом, что простой перенос значений не помогал..
Найти эти значения в базе можно выполнив такой запрос
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECT * FROM core_config_data WHERE path LIKE '%paypal/wpp%' config_id|scope |scope_id|path |value | ---------|-------|--------|-----------------------------|----------------------------------------------------------------------| 272|default| 0|paypal/wpp/api_authentication|0 | 273|default| 0|paypal/wpp/api_username |0:2:8d1c3ddf7fca1a9b:F8mDXdycZ0QtRt6EiuTWqKOU= | 274|default| 0|paypal/wpp/api_password |0:2:e1200a9a9a3023f7:0MmlRBrODB/Z3w== | 275|default| 0|paypal/wpp/api_signature |0:2:cdcdc18dac552d6c:RUAK8qVlwGBnDQyo2aWzmAcSNCapcbJ7puUCY48y5Dg06pA==| 276|default| 0|paypal/wpp/sandbox_flag |1 | 277|default| 0|paypal/wpp/use_proxy |0 | 297|default| 0|paypal/wpp/button_flavor |dynamic | |
Нас интересуют поля
- paypal/wpp/api_username
- paypal/wpp/api_password
- paypal/wpp/api_signature
Magento 1
Чтобы получить их исходные значения в Magento 1 используем такой скрипт, который надо расположить в корне сайта: /decrypt-paypal.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php require_once("app/Mage.php"); $store = Mage::app()->getStore(Mage::app()->getStore()->getStoreId()); $username = Mage::getStoreConfig('paypal/wpp/api_username',$store); $password = Mage::getStoreConfig('paypal/wpp/api_password',$store); $signature = Mage::getStoreConfig('paypal/wpp/api_signature',$store); print_r([ 'username' => $username, 'password' => $password, 'signature' => $signature, ]); |
После чего выполнить из консоли вот так
1 2 3 |
php decrypt-paypal.php |
Не забудьте удалить его, после того как получите нужные данные
Magento 2
В Magento 2 можно ничего не писать, а воспользоваться утилитой n98-magerun2 найти которую можно тут: https://github.com/netz98/n98-magerun2
1 2 3 4 5 |
php ./n98-magerun2.phar config:store:get --decrypt paypal/wpp/api_username php ./n98-magerun2.phar config:store:get --decrypt paypal/wpp/api_password php ./n98-magerun2.phar config:store:get --decrypt paypal/wpp/api_signature |
Другое
Обратите внимание что хеши шифруются на основе значений конфигурации, поэтому если вы скачаете, например, дамп с сервера к себе и у вас будет отличаться конфигурационный файл (app/etc/env.php), то вероятнее всего, вместо расшифрованных паролей, вы увидите пустое значение. Если так произойдет, то нужно синхронизировать ваш локальный конфиг с конфигом сервера. Ну, или выполнить все вышеописанное на сервере, что не рекомендуется, тк с точки зрения безопасности не стоит загружать ничего лишнего на сервер, поэтому это уже на ваше усмотрение.
--добавлено--
Все тоже самое работает и для Public/Private ключей к API Braintree
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ php ./n98-magerun2.phar config:store:get --decrypt payment/braintree/public_key +------------------------------+----------+----------+------------------+ | Path | Scope | Scope-ID | Value | +------------------------------+----------+----------+------------------+ | payment/braintree/public_key | default | 0 | abcabcabcabcabca | | payment/braintree/public_key | websites | 2 | abcabcabcabcabca | | payment/braintree/public_key | websites | 3 | abcabcabcabcabca | +------------------------------+----------+----------+------------------+ $ php ./n98-magerun2.phar config:store:get --decrypt payment/braintree/private_key +-------------------------------+----------+----------+----------------------------------+ | Path | Scope | Scope-ID | Value | +-------------------------------+----------+----------+----------------------------------+ | payment/braintree/private_key | default | 0 | xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxy | | payment/braintree/private_key | websites | 2 | xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxy | | payment/braintree/private_key | websites | 3 | xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxy | +-------------------------------+----------+----------+----------------------------------+ |
--добавлено--
Все тоже самое работает для SLI Systems
1 2 3 4 5 6 7 8 |
$ php ./n98-magerun2.phar config:store:get --decrypt sli_feed_generation/ftp/password +----------------------------------+----------+----------+------------------+ | Path | Scope | Scope-ID | Value | +----------------------------------+----------+----------+------------------+ | sli_feed_generation/ftp/password | default | 0 | abcabcabcabcabca | +----------------------------------+----------+----------+------------------+ |
Author: | Tags: /
| Rating:
Leave a Reply