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

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

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  How to Install Steam on Ubuntu 24.04

Comments

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

    Leave a Reply