Как скрыть секретный ключ чередования, используя бессерверную лямбда-функцию, развертываемую в Netlify - PullRequest
0 голосов
/ 02 июля 2019

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

Я следовал этому уроку, но затем изменил charge.js, чтобы использовать dotenv. https://mitchgavan.com/react-serverless-shop/

В моей функции сервера у меня есть следующее ...

require(‘dotenv’).config()
const stripe = require(‘stripe’)(process.env.STRIPE_SECRET_KEY);

У меня есть файл .env с SK, и это работает при работе на localhost. Но это не работает при развертывании.

Я добавил SK в панель инструментов Netlify

STRIPE_SECRET_KEY      sk_test_opK…sIKZ

Но у меня это не работает, что я делаю не так?

1 Ответ

0 голосов
/ 02 июля 2019

Скорее всего, зависимость dotenv не существует при выполнении лямбда-функции, поскольку вы не включили ее в свою функцию.

При использовании панели инструментов Netlify для хранения закрытого ключа вы выиграли 'Т .env.Это хорошая новость, потому что вы не хотите хранить этот ключ в своем хранилище.Это необходимо только в вашем случае для локальной разработки.

  • Удалите require('dotenv').config() из вашей функции, потому что это не нужно в этом случае на Netlify, потому что process.env.STRIPE_SECRET_KEY будет существовать на Netlify в то времяфункция выполняется.
  • Добавьте ключ во время локальной разработки с другим процессом (возможно, вместо этого используйте cross-env в командной строке)
...