Module: Sinatra::DoormanAuth
- Defined in:
- lib/oauth_doorman/sinatra.rb
Defined Under Namespace
Modules: Helpers
Class Method Summary collapse
Class Method Details
.registered(app) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/oauth_doorman/sinatra.rb', line 40 def self.registered(app) app.helpers DoormanAuth::Helpers app.set :sessions, true app.set :session_secret, Digest::SHA1.hexdigest("#{self.class} #{ENV['RACK_ENV']}") #Set url to show after logout app.set :default_url_after_sign_out, "/" #Set url to show after login app.set :default_url_after_sign_in, "/" # oauth settings app.set :doorman_app_name, "#{self.class}" app.set :doorman_client_id, "FILL" app.set :doorman_client_secret, "FILL" app.get "/oauth2callback" do door = doorman door.init_connection_by_code(request.params["code"]) user_email = door.get_user_email if user_email session[:email] = user_email redirect settings.default_url_after_sign_in else raise OauthAuthorizationInvalid, "Sorry but your email: #{user_email} is not valid for authorization into #{settings.doorman_app_name}." end raise OauthAuthorizationError, "Sorry but your attemp to atuhorizate was not succesfull, try again..." end app.get "/sign_out" do session[:email] = nil redirect settings.default_url_after_sign_out end end |