Class: Rack::Auth::Digest::MD5
- Inherits:
 - 
      AbstractHandler
      
        
- Object
 - AbstractHandler
 - Rack::Auth::Digest::MD5
 
 - Defined in:
 - rack/rack/auth/digest/md5.rb
 
Overview
Rack::Auth::Digest::MD5 implements the MD5 algorithm version of HTTP Digest Authentication, as per RFC 2617.
Initialize with the [Rack] application that you want protecting, and a block that looks up a plaintext password for a given username.
opaque needs to be set to a constant base64/hexadecimal
string.
Constant Summary
Instance Attribute Summary (collapse)
- 
  
    
      - (void) opaque 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute opaque.
 - 
  
    
      - (void) passwords_hashed 
    
    
  
  
  
  
    
    
      writeonly
    
  
  
  
  
  
  
    
Sets the attribute passwords_hashed.
 - 
  
    
      - (void) realm 
    
    
  
  
    
      inherited
      from AbstractHandler
    
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute realm.
 
Instance Method Summary (collapse)
- - (void) call(env)
 - 
  
    
      - (MD5) initialize(app, realm = nil, opaque = nil, &authenticator) 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of MD5.
 - - (Boolean) passwords_hashed?
 
Constructor Details
- (MD5) initialize(app, realm = nil, opaque = nil, &authenticator)
Returns a new instance of MD5
      24 25 26 27 28 29 30 31  | 
    
      # File 'rack/rack/auth/digest/md5.rb', line 24 def initialize(app, realm=nil, opaque=nil, &authenticator) @passwords_hashed = nil if opaque.nil? and realm.respond_to? :values_at realm, opaque, @passwords_hashed = realm.values_at :realm, :opaque, :passwords_hashed end super(app, realm, &authenticator) @opaque = opaque end  | 
  
Instance Attribute Details
- (void) opaque
Returns the value of attribute opaque
      20 21 22  | 
    
      # File 'rack/rack/auth/digest/md5.rb', line 20 def opaque @opaque end  | 
  
- (void) passwords_hashed=(value) (writeonly)
Sets the attribute passwords_hashed
      22 23 24  | 
    
      # File 'rack/rack/auth/digest/md5.rb', line 22 def passwords_hashed=(value) @passwords_hashed = value end  | 
  
- (void) realm Originally defined in class AbstractHandler
Returns the value of attribute realm
Instance Method Details
- (void) call(env)
      37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59  | 
    
      # File 'rack/rack/auth/digest/md5.rb', line 37 def call(env) auth = Request.new(env) unless auth.provided? return end if !auth.digest? || !auth.correct_uri? || !valid_qop?(auth) return bad_request end if valid?(auth) if auth.nonce.stale? return (challenge(:stale => true)) else env['REMOTE_USER'] = auth.username return @app.call(env) end end end  | 
  
- (Boolean) passwords_hashed?
      33 34 35  | 
    
      # File 'rack/rack/auth/digest/md5.rb', line 33 def passwords_hashed? !!@passwords_hashed end  |