Ruby on rails http basic authentication with json failure message

Ruby on Rails HTTP Basic authentication with JSON failure message

A short snippet on how to make Ruby on Rails authenticate_or_request_with_http_basic respond with a JSON valid message upon failure.

class ApplicationController < ActionController::API
  include(
    ActionController::HttpAuthentication::Basic::ControllerMethods
  )

  before_action :http_authenticate!

  def http_authenticate!
    authenticate_or_request_with_http_basic do |key, secret|
      return if Resource.find_by(
        key: key,
        secret: secret
      )
    end

    render(
      json: 'Invalid credentials'.to_json,
      status: 401
    )
  end
end
Sponsored

Cover photo by Vladimer Shioshvili on Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0) license.

Sponsored

The post Ruby on Rails HTTP Basic authentication with JSON failure message appeared first on Running with Ruby.


Discover more from Ubuntu-Server.com

Subscribe to get the latest posts sent to your email.

See also  Dell EMC PowerEdge and Canonical Charmed Ceph, a proven solution

Comments

No comments yet. Why don’t you start the discussion?

    Leave a Reply