Как добавить промежуточное ПО для шоппинга маршрутов приложений? - PullRequest
0 голосов
/ 12 марта 2019

Создание приложения shopify с экспрессом и мангустом.Домен магазина и токены доступа сохраняются в базе данных на маршруте обратного вызова процесса установки.Индекс приложения проверяется с помощью следующей функции:

const verifyOAuth = query => {
    if (!query.hmac) {
        return false;
    }

    const hmac = query.hmac; 
    delete query.hmac;
    const sortedQuery = Object.keys(query).map(key => `${key}=${Array(query[key]).join(',')}`).sort().join('&');
    const calculatedSignature = crypto.createHmac('sha256', config.SHOPIFY_SHARED_SECRET).update(sortedQuery).digest('hex');
    if (calculatedSignature === hmac) {
      return true;
    }

  return false;
}

Как создать функцию промежуточного программного обеспечения для запроса доступа к данным магазина из базы данных Монго.Пример:

router.get('/content', auth, (req, res) => {
  const content = Content.findOne({shopifyDomain: 'shopify-domain-here'})
  res.send(content);
});

var auth = (req, res, next) => {
    // Get shop domain from authentication
    next();
};

Нужно ли добавлять домен магазина и hmac в качестве запроса для каждого запроса get в '/ content', или я должен использовать res.setHeader, чтобы установить их в качестве заголовков, когда индекс индексаприложение загружено или есть лучшее решение?

1 Ответ

0 голосов
/ 12 марта 2019

Вы не можете добавлять маршруты в Shopify.Вы никогда не получите запрос от / Content.Очевидно, что вы можете создать этот маршрут в своем собственном приложении и обслуживать этот маршрут.

Если вы хотите отправить контент в Shopify, вам следует использовать прокси приложения.Вы получаете запрос на контент, а затем выполняете этот запрос с контентом, отформатированным, например, как Liquid или JSON.

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