Sendgrid的事件Webhooks发送POST请求,由于某种原因,该请求未经身份验证。我已经在Heroku的应用程序上设置了一个Rails端点来接收它,但是,它一直返回401状态。
2018-11-12T21:17:20.090837+00:00 heroku[router]: at=info method=POST path="/sendgrid_hooks" host=staging.herokuapp.com request_id=ba07cf74-f1e4-40e2-90a8-b1ac67779333 fwd="167.89.116.63" dyno=web.1 connect=0ms service=2ms status=401 bytes=286 protocol=https
我尝试过包括skip_before_action :verify_authenticity_token
,并在控制器操作中仅放置一个空白head(:ok)
,所有这些在本地都可以正常工作(例如与Postman合作),但是在Heroku上,它就无休止地返回401。是否可以做些避免认证的事情? AFAIK我没有为其他任何请求授权(例如,没有设计等)添加任何之前的操作。
控制器:
class MyHooksController < ActionController::Base
protect_from_forgery with: :exception
skip_before_action :verify_authenticity_token, only: :create
def show
head(:ok)
end
def create
head(:ok)
end
end