Module: Sinatra::DoormanAuth::Helpers

Defined in:
lib/oauth_doorman/sinatra.rb

Instance Method Summary collapse

Instance Method Details

#authorize_user(email) ⇒ Object

Raises:

  • (NoMethodError)


35
36
37
# File 'lib/oauth_doorman/sinatra.rb', line 35

def authorize_user email
  raise NoMethodError, "Please implement into your sinatra 'authorize_user' method with one parameter (email). \n Return true if user is known."
end

#doormanObject



22
23
24
25
26
27
28
29
# File 'lib/oauth_doorman/sinatra.rb', line 22

def doorman 
  OauthDoorman::Api.new( 
    redirect_uri: oauth_callback_url, 
    client_id: settings.doorman_client_id, 
    client_secret: settings.doorman_client_secret, 
    state: "Overseer"
  )
end

#doorman_sign_in_urlObject



18
19
20
# File 'lib/oauth_doorman/sinatra.rb', line 18

def 
  doorman.compose_authentification_request_url(false)
end

#oauth_callback_urlObject



31
32
33
# File 'lib/oauth_doorman/sinatra.rb', line 31

def oauth_callback_url
  "http://#{request.env["HTTP_HOST"]}/oauth2callback"
end

#protectedObject



14
15
16
# File 'lib/oauth_doorman/sinatra.rb', line 14

def protected
  redirect  unless session[:email] && authorize_user(session[:email])
end