Создание приложения 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, чтобы установить их в качестве заголовков, когда индекс индексаприложение загружено или есть лучшее решение?