Создать учетную запись полосы на firebase auth - PullRequest
0 голосов
/ 28 мая 2020

Я добавил функцию в облачные функции firebase для создания учетной записи Stripe, когда новая учетная запись добавляется через аутентификацию firebase

exports.syncUserToStripe = functions.auth
.user()
.onCreate(async (data, context) => {
cors(data, context, async () => {
  const stripeCustomer = await stripe.customers.create({
    email: data.body.email
  });
  context.send({ customer });
});

});

, но я получаю сообщение об ошибке

TypeError: Cannot read property 'origin' of undefined

Что не так?

1 Ответ

0 голосов
/ 28 мая 2020

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

CORS и объект context являются концепциями HTTP и не должны использоваться здесь.

Исправленный код:

exports.syncUserToStripe = functions.auth
.user()
.onCreate(async (user) => {
  const stripeCustomer = await stripe.customers.create({
    email: user.email
  });

  // Do something with the Stripe customer object, like
  // save to Firestore or the realtime database?
});

Кроме того, вы пытались получить доступ к электронной почте пользователя с адреса data.body.email. Пользовательский объект Firebase не содержит ключа body. Вы можете получить email непосредственно из пользовательского объекта (user.email), как показано в приведенном выше коде.

...