Есть ли способ пропустить аутентификацию в действиях администратора custom_active
Итак, у меня есть collection_action в активном администраторе, который используется API PandaStream для отправки уведомлений при обработке видео:
collection_action :notify, :method => :post do
# some irrelevant to the question code
end
рейк-маршруты возвращаются:
notify_admin_videos POST /admin/videos/notify(.:format) admin/videos#notify
Проблема в том, что когда я получил уведомление от pandastream, я получаю:
Completed 401 Unauthorized in 0ms
Это ожидаемо, поскольку panda api не аутентифицирован в моей админ-панели. Итак, вопрос в том, есть ли способ пропустить аутентификацию в действиях custom_active admin?
Пожалуйста, помогите прояснить это для меня!
Спасибо!
1 ответ
Решение
Некоторые методы делегируются из регистра администратора в контроллер, как показано здесь: https://github.com/gregbell/active_admin/blob/4f445b51c22b12af2cdde57fe2ce9835c32ef88e/lib/active_admin/resource_dsl.rb#L156
Так что вы должны быть в состоянии сделать что-то вроде ниже:
ActiveAdmin.register Video do
skip_before_action :authenticate_admin_user!, only: :notify
end