4

У меня есть приложение Rails 4 с использованием Doorkeeper для проверки подлинности в большинстве контроллеров. Когда я иду на один из этих ограниченных маршрутов, я вижу пустую страницу. Я заметил в моем терминале, Puma говорит:пользовательская страница 401 в Rails с Doorkeeper

фильтр цепи приостановлена ​​#Proc: 0x007fd650803350 @/.../привратник-0.7.2/Библиотека/привратник/хелперы/filter.rb: 8 оказаны или перенаправлены Завершено 401 Несанкционировано в 1 мс (ActiveRecord: 0.0ms)

Как я могу поймать такие 401 Несанкционированные ошибки, чтобы я мог отображать пользовательскую страницу? Моя цель - отобразить ответ JSON с сообщением об аутентификации, а не просто показывать пустую белую страницу.

ответ

7

Это на самом деле issue on Doorkeeper. Для того, чтобы иметь собственный JSON ответ на 401 несанкционированных ошибок вместо пустой страницы, в ApplicationController я добавил:

def doorkeeper_unauthorized_render_options 
    {json: '{"status": "failure", "message":"401 Unauthorized"}'} 
end 
+0

Определенно, я действительно должен начать читать вики! Спасибо –

+0

есть ли способ изменить код ошибки? – Tilo