【发布时间】:2016-06-23 21:16:28
【问题描述】:
我正在使用嵌入式应用程序 SDK(用于构建 Shopify 应用程序),它允许我在管理面板中显示网页。假设 Shopify 应用程序的 URL 为 /shopifyApp 。每当用户点击上述应用程序时,他都会被重定向到“/shopifyApp”。 获取请求看起来像 /shopifyApp?hmac=b20934d6b66cxxx&protocol=https%3A%2F%2F&shop=dev-store-61.myshopify.com×tamp=1466715935
我正在尝试验证 hmac 是否有效。我正在使用下面的代码进行验证,但不幸的是它不起作用。
var map = JSON.parse(JSON.stringify(req.query));
delete map['hmac'];
var message = querystring.stringify(map);
var generated_hash = require('crypto').createHmac('sha256', "myAppSecret").update(message).digest('hex');
if (generated_hash === req.query.hmac) {
//show Authenticated page
} else {
//Show unauthenticated page
}
由于某种原因,生成的 has 永远不会等于 hmac。有人可以告诉我我做错了什么吗?
【问题讨论】:
标签: node.js oauth passport.js shopify hmac