ruby-on-rails - 带有 Doorkeeper 的 Rails 中的自定义 401 页面

标签 ruby-on-rails http-status-code-401 unauthorized doorkeeper

我有一个使用 Doorkeeper 的 Rails 4 应用程序,需要在大多数 Controller 中进行身份验证。当我前往其中一条受限路线时,会看到一个空白页面。我注意到在我的终端中,Puma 说:

Filter chain halted as #Proc:0x007fd650803350@/.../doorkeeper-0.7.2/lib/doorkeeper/helpers/filter.rb:8 rendered or redirected Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)



如何捕获此类 401 Unauthorized 错误以便显示自定义页面?我的目标是使用有关如何进行身份验证的消息呈现 JSON 响应,而不是仅显示空白页面。

最佳答案

这实际上是一个 issue on Doorkeeper .要为 401 未经授权的错误而不是空白页提供自定义 JSON 响应,请在 ApplicationController 中我补充说:

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

关于ruby-on-rails - 带有 Doorkeeper 的 Rails 中的自定义 401 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570195/

相关文章:

ruby-on-rails - rails 3.1 : Access a fingerprinted image from css

ruby-on-rails - Capistrano 部署 -- Net::SSH::AuthenticationFailed -- AWS EC2

缺少 cookie 时,.NET 核心返回 500 而不是 401

api - Trustpilot Api - 获取私有(private)产品评论始终返回未经授权的响应状态

ruby-on-rails - Rails 选择助手。如何选择默认值?

ruby-on-rails - 基于区域设置的 Rails 路线

authentication - WebDAV 返回 401 - 如何进行身份验证?

windows-services - Google 分析未经授权的访问 (401)

c# - 使用 SSL 在 C# 中调用 Web 服务 - '(401) Unauthorized'

docker - 无法运行Kubelet:无法创建证书签名请求:未经授权