Class: HaveAPI::Authentication::Basic::Provider
- Inherits:
 - 
      HaveAPI::Authentication::Base
      
        
- Object
 - HaveAPI::Authentication::Base
 - HaveAPI::Authentication::Basic::Provider
 
 
- Defined in:
 - lib/haveapi/authentication/basic/provider.rb
 
Overview
HTTP basic authentication provider.
Example usage:
class MyBasicAuth < HaveAPI::Authentication::Basic::Provider
  protected
  def find_user(request, username, password)
    ::User.find_by(login: username, password: password)
  end
end
Finally put the provider in the authentication chain:
api = HaveAPI.new(...)
...
api.auth_chain << MyBasicAuth
  Instance Attribute Summary
Attributes inherited from HaveAPI::Authentication::Base
Instance Method Summary collapse
Methods inherited from HaveAPI::Authentication::Base
auth_method, #initialize, #resource_module
Constructor Details
This class inherits a constructor from HaveAPI::Authentication::Base
Instance Method Details
#authenticate(request) ⇒ Object
      22 23 24 25 26 27 28 29 30 31 32 33 34 35  | 
    
      # File 'lib/haveapi/authentication/basic/provider.rb', line 22 def authenticate(request) user = nil auth = Rack::Auth::Basic::Request.new(request.env) if auth.provided? && auth.basic? && auth.credentials begin user = find_user(request, *auth.credentials) rescue HaveAPI::AuthenticationError user = nil end end user end  | 
  
#describe ⇒ Object
      37 38 39 40 41 42  | 
    
      # File 'lib/haveapi/authentication/basic/provider.rb', line 37 def describe { description: "Authentication using HTTP basic. Username and password is passed "+ "via HTTP header. Its use is forbidden from web browsers." } end  |