如何为Shopify App添加安全性? (webhooks& front-end)

时间:2018-01-19 17:27:03

标签: ruby-on-rails webhooks shopify-app

我正在开发一个带有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的内容,但我不知道自己是否必须实现它,或者上述代码是否真的这样做了。

关于前端 ......我应该对视图或控制器进行一些安全性评估吗?

感谢您的关注和您的知识。

1 个答案:

答案 0 :(得分:0)

我已经读过它了,写下Webhooks的安全性是不必要的。

包括ShopifyApp :: WebhookVerification 执行所有过程。 WebhookVerification包含在gem&#39; shopify_api&#39;中,因此我们只需要包含gem并复制上面的代码来管理webhook。

如果我们想通过Shopify管理员测试webhook:设置&gt;通知&gt; Webhooks 然后,我们应该实施this code.