Stripe OAuth с Express

Я пытаюсь следовать этой документации из Stripe: https://stripe.com/docs/connect/standard-accounts

Я застрял в пункте 4, где пытаюсь авторизовать пользователя и получить ответ с токеном доступа.

Я использую экспресс-бэкэнд в приложении React, и в моем файле server.js настроено следующее:

const path = require('path');
const express = require('express');
const app = express();
const publicPath = path.join(__dirname, '..', 'public');

var TOKEN_URI = 'https://connect.stripe.com/oauth/token';
var CLIENT_ID = 'xxxx'
var API_KEY = 'STRIPE_API_KEY'

app.use(express.static(publicPath));

app.get('/api/callback', function(req, res) {

    var code = req.query.code;

    request.post({
      url: TOKEN_URI,
      form: {
        grant_type: "authorization_code",
        client_id: CLIENT_ID,
        code: code,
        client_secret: API_KEY
      }
    }, function(err, r, body) {

      var accessToken = JSON.parse(body).access_token;
      console.info(accessToken);

    });
  });

app.get('*', (req, res) => {
  res.sendFile(path.join(publicPath, 'index.html'));
});

Я удалил свой номер порта и ссылку на прослушивание, но это на месте.

Итак, когда я тестирую Stripe и перехожу на страницу обратного вызова, я получаю внутреннюю ошибку сервера, но я не уверен, что вызывает это и почему я не получаю ответа от моего console.info?

Спасибо.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
211
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, вам нужно импортировать библиотеку запросов вверху постоянный запрос = требуется ('запрос'); Также убедитесь, что ваш файл package.json содержит библиотеку запросов, если нет, сначала установите ее. https://www.npmjs.com/package/request

Я добавил запрос, и это решило мою проблему. Большое спасибо.

Hallidayo 04.08.2019 21:49

Другие вопросы по теме