Как загрузить клиентские сертификаты fabri c в облачную функцию Google? - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь создать облачную функцию, которая включает файл сертификата в nodejs. Ниже приведен код, который я пытаюсь выполнить:

    exports.invoke = async function(req, res) {

     const walletPath = path.join(process.cwd(), './wallet');
        const wallet = new FileSystemWallet(walletPath);
        console.log(`Wallet path: ${walletPath}`);

        // Check to see if we've already enrolled the user.
        const userExists = await wallet.exists('user1');
      console.log(userExists);
        if (!userExists) {
            console.log('An identity for the user "user1" does not exist in the wallet');
            console.log('Run the registerUser.js application before retrying');
            return;
        }
    }

Облачная функция не может прочитать сертификат, который находится в папке кошелька.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Я использовал Google Bucket для хранения сертификатов Fabri c и включен в облачную функцию Google, которая работает нормально. Также в качестве альтернативы ibm предоставил несколько примеров программ для fabri c по функции безсерверного облака.

0 голосов
/ 24 марта 2020

Таким образом, вы пытаетесь заставить свою облачную функцию принимать HTTP-запросы другой службы, используя пользовательский сертификат (исправьте меня, если я ошибаюсь).

Для этого вам нужно сначала создать сертификат доступны для вашего кода функции облака в качестве секрета аутентификации. Вы можете проверить следующую ссылку о том, как этого добиться.

Но в целом есть несколько вариантов получения файлов сертификата в облачной функции:

  • Загрузка при развертывании (вы можете включить файлы сертификатов для своего развертывания в облачной функции Google, включив их в каталог кода, как показано здесь)
  • Загрузить в Google Cloud Storage (при таком подходе вы загружаете файлы сертификатов в облако Хранилище, затем загрузите файл при запуске экземпляра функции.
  • Загрузить в переменную среды (если размер данных вашего сертификата может вписаться в переменную, это также хороший вариант, но имеет некоторую безопасность риски.

И этот инструмент .

облегчает одну из самых безопасных практик. Я бы предложил вам попробовать один из этих вариантов, так как кажется, что он не может прочитайте его из папки кошелька, это может быть потому, что он не может прочитать его в момент создания функции.

Также было бы полезно, если бы вы добавили ошибки, которые вы получаете, чтобы увидеть, что это за проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...