我正在开发一个带有rails的Shopify应用程序和我希望避免将来出现安全问题。我不知道应该怎么做,所以我希望你能指导我......
Webhooks控制器:
module ShopifyApp
class WebhooksController < ActionController::Base
include ShopifyApp::WebhookVerification
class ShopifyApp::MissingWebhookJobError < StandardError; end
def receive
params.try(:permit!)
job_args = {shop_domain: shop_domain, webhook: webhook_params.to_h}
webhook_job_klass.perform_later(job_args)
head :no_content
end
private
def webhook_params
params.except(:controller, :action, :type)
end
def webhook_job_klass
"#{webhook_type.classify}Job".safe_constantize or raise ShopifyApp::MissingWebhookJobError
end
def webhook_type
params[:type]
end
end
end
我已经阅读了关于检查Webhook的HMAC的内容,但我不知道自己是否必须实现它,或者上述代码是否真的这样做了。
关于前端 ......我应该对视图或控制器进行一些安全性评估吗?
感谢您的关注和您的知识。
答案 0 :(得分:0)
我已经读过它了,写下Webhooks的安全性是不必要的。
行包括ShopifyApp :: WebhookVerification 执行所有过程。 WebhookVerification包含在gem&#39; shopify_api&#39;中,因此我们只需要包含gem并复制上面的代码来管理webhook。
如果我们想通过Shopify管理员测试webhook:设置&gt;通知&gt; Webhooks 然后,我们应该实施this code.