Module: HeimdallAuth::AuthenticationAdditions
- Included in:
- AuthenticationChecker, ControllerAdditions
- Defined in:
- lib/heimdall_auth/authentication_additions.rb
Instance Method Summary collapse
- #current_ability ⇒ Object
- #current_access_token ⇒ Object
- #current_environment ⇒ Object
- #current_user ⇒ Object
- #get_user_from_auth_server(access_token) ⇒ Object
- #storable_location? ⇒ Boolean
- #store_location_in_session ⇒ Object
- #user_signed_in? ⇒ Boolean
Instance Method Details
#current_ability ⇒ Object
3 4 5 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 3 def current_ability @current_ability ||= Ability.new(current_user) end |
#current_access_token ⇒ Object
16 17 18 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 16 def current_access_token request.session[:access_token] || params[:access_token] || request.headers['HeimdallAccessToken'] end |
#current_environment ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 30 def current_environment begin @current_environment ||= current_user.app_environment || params[:environment] rescue NoMethodError, Exception => e nil end end |
#current_user ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 20 def current_user begin @current_user ||= get_user_from_auth_server(current_access_token) rescue NoMethodError => e User.new(is_invalid: true) rescue Exception => e nil end end |
#get_user_from_auth_server(access_token) ⇒ Object
38 39 40 41 42 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 38 def get_user_from_auth_server(access_token) client = OAuth2::Client.new(ENV['HEIMDALL_APPLICATION_ID'], ENV['HEIMDALL_APPLICATION_SECRET'], :site => ENV['HEIMDALL_SERVER_URL']) user_data = OAuth2::AccessToken.new(client,access_token).get('/me.json').parsed User.new(user_data) end |
#storable_location? ⇒ Boolean
12 13 14 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 12 def storable_location? request.get? && request.format.try(:ref) == :html && !is_a?(SessionsController) && !request.xhr? end |
#store_location_in_session ⇒ Object
7 8 9 10 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 7 def store_location_in_session session[:last_url] = request.url if storable_location? ::Rails.logger.info("\033[32m session[:last_url] = #{session[:last_url]} \033[0m") end |
#user_signed_in? ⇒ Boolean
44 45 46 |
# File 'lib/heimdall_auth/authentication_additions.rb', line 44 def user_signed_in? return true if current_user end |