Class: Warden::Strategies::BasicAuth

Inherits:
Base
  • Object
show all
Defined in:
lib/warden/strategies/basic_auth.rb

Instance Method Summary collapse

Instance Method Details

#auth_schemeObject



51
52
53
# File 'lib/warden/strategies/basic_auth.rb', line 51

def auth_scheme
  'Basic'
end

#authenticate!Object



11
12
13
14
15
16
17
18
19
# File 'lib/warden/strategies/basic_auth.rb', line 11

def authenticate!
  user = authenticate_user username, password

  if user
    authentication_successful user
  else
    authentication_failed
  end
end

#authenticate_user(username, password) ⇒ Object

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/warden/strategies/basic_auth.rb', line 21

def authenticate_user(username, password)
  raise NotImplementedError
end

#authentication_failedObject



29
30
31
32
33
# File 'lib/warden/strategies/basic_auth.rb', line 29

def authentication_failed
  headers 'WWW-Authenticate' => %(#{auth_scheme} realm="#{realm}")

  fail! 'unauthorized'
end

#authentication_successful(user) ⇒ Object



25
26
27
# File 'lib/warden/strategies/basic_auth.rb', line 25

def authentication_successful(user)
  success! user
end

#passwordObject



43
44
45
# File 'lib/warden/strategies/basic_auth.rb', line 43

def password
  request.credentials[1]
end

#realmObject



55
56
57
# File 'lib/warden/strategies/basic_auth.rb', line 55

def realm
  'private area'
end

#requestObject



47
48
49
# File 'lib/warden/strategies/basic_auth.rb', line 47

def request
  @request ||= Rack::Auth::Basic::Request.new(env)
end

#store?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/warden/strategies/basic_auth.rb', line 35

def store?
  false
end

#usernameObject



39
40
41
# File 'lib/warden/strategies/basic_auth.rb', line 39

def username
  request.credentials[0]
end

#valid?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/warden/strategies/basic_auth.rb', line 7

def valid?
  request.provided? && request.basic? && request.credentials
end