我试着在shopify上提交应用程序进行审批。但每次他们都给予我下面的消息
您的主要应用程序列表有2个问题需要修复,然后才能提交应用程序进行审核
应用程序必须设置安全标头以防止点击劫持。
应用程序必须验证来自Shopify的请求的真实性。
这是我的代码验证hmac和它的工作是否正确。
$calculated_hmac = hash_hmac('sha256', $data, Auth::$client_secret);
$result = hash_equals($hmac, $calculated_hmac);
这是我在wordpress上的头钩add_action('send_headers', [$this, 'send_headers']);
public function send_headers() {
header("Content-Security-Policy: frame-ancestors 'none';");
header('X-Frame-Options: SAMEORIGIN');
}
但提交后,我仍然得到相同的消息。
1条答案
按热度按时间hgc7kmma1#
您的CSP设置有误。如果您查看最新的文档,就会发现iframe必须存在于myshopify.com商店域中。而且,与Wordpress无关。但无论如何,请确保为frame祖先呈现的CSP标头为:
这样,你的点击劫持问题就解决了。对于HMAC,你必须试着找出你错过了验证的地方。我认为他们欺骗了你,你没有发送401,告诉他们你做对了HMAC。