Пропуск аутентификации Rails для конечной точки webhook приводит к 401 - PullRequest
0 голосов
/ 13 ноября 2018

Веб-мастера событий Sendgrid отправляют POST-запросы, которые по какой-то причине не прошли проверку подлинности. Я настроил конечную точку Rails в своем приложении на Heroku, чтобы получать его, однако он просто продолжает возвращать статус 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), и все это прекрасно работает локально (например, с Почтальоном), но в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...