protect_from_forgery :with => :exception
+ rescue_from CanCan::AccessDenied, :with => :deny_access
+
before_action :fetch_body
around_action :better_errors_allow_inline, :if => proc { Rails.env.development? }
raise
end
- rescue_from CanCan::AccessDenied do |exception|
- raise "Access denied on #{exception.action} #{exception.subject.inspect}"
- # ...
+ def current_ability
+ Ability.new(current_user, current_token)
end
- def current_ability
- @current_ability ||= Ability.new(current_user, current_token)
+ def deny_access(exception)
+ if current_user
+ set_locale
+ report_error t("oauth.permissions.missing"), :forbidden
+ else
+ require_user
+ end
end
private