Module: Sinatra::Authorization::Helpers

Defined in:
lib/sinatra/authorization.rb

Instance Method Summary collapse

Instance Method Details

#authorization_realmObject

From you app, call set :authorization_realm, “my app” to set this or define a #authorization_realm method in your helpers block.



25
26
27
# File 'lib/sinatra/authorization.rb', line 25

def authorization_realm
  options.authorization_realm
end

#authorize(username, password) ⇒ Object

Redefine this method on your helpers block to actually contain your authorization logic.



19
20
21
# File 'lib/sinatra/authorization.rb', line 19

def authorize(username, password)
  false
end

#authorized?Boolean Also known as: logged_in?

Convenience method to determine if a user is logged in

Returns:

  • (Boolean)


39
40
41
# File 'lib/sinatra/authorization.rb', line 39

def authorized?
  !!current_user
end

#current_userObject

Name provided by the current user to log in



45
46
47
48
49
# File 'lib/sinatra/authorization.rb', line 45

def current_user
  request.env['REMOTE_USER'] = auth.username if
    auth.provided? && auth.basic? && authorize(*auth.credentials)
  request.env['REMOTE_USER']
end

#login_requiredObject

Call in any event that requires authentication



30
31
32
33
34
35
36
# File 'lib/sinatra/authorization.rb', line 30

def 
  return if authorized?
  unauthorized! unless auth.provided?
  bad_request!  unless auth.basic?
  unauthorized! unless authorize(*auth.credentials)
  request.env['REMOTE_USER'] = auth.username
end