module SinatraOmniAuth::Helpers

Public Instance Methods

authenticate_user!() click to toggle source
# File lib/sinatra/omniauth.rb, line 117
def authenticate_user!
  if !current_user
    flash.error = 'You need to sign in before you can access this page!'
    redirect to('/auth')
  end
end
current_auth() click to toggle source
# File lib/sinatra/omniauth.rb, line 112
def current_auth
  current_user
  @current_auth
end
current_user() click to toggle source
# File lib/sinatra/omniauth.rb, line 94
def current_user
  session.delete :authentication_id   # Clean up old auth values
  begin
    if session[:user_id] && session[:authentication_provider]
      @current_auth ||= Authentication.first(:user_id => session[:user_id], :provider => session[:authentication_provider])
      @current_user ||= @current_auth.user
    end
    return @current_user if @current_user
  rescue      # Invalid cookie value formats?
    @current_user = nil
    @current_auth = nil
  end

  # Clean up any old/bad cookie values:
  session.delete :user_id
  session.delete :authentication_provider
end