Module: RailsSso::Helpers
- Defined in:
- lib/rails_sso/helpers.rb
Class Method Summary collapse
Instance Method Summary collapse
- #access_token ⇒ Object
- #authenticate_user! ⇒ Object
- #current_user ⇒ Object
- #invalidate_access_token! ⇒ Object
- #refresh_access_token! ⇒ Object
- #save_access_token!(access_token) ⇒ Object
- #user_signed_in? ⇒ Boolean
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 |
# File 'lib/rails_sso/helpers.rb', line 3 def self.included(base) base.class_eval do helper_method :current_user, :user_signed_in? end end |
Instance Method Details
#access_token ⇒ Object
23 24 25 |
# File 'lib/rails_sso/helpers.rb', line 23 def access_token RailsSso::AccessToken.new(session[:access_token], session[:refresh_token]) end |
#authenticate_user! ⇒ Object
19 20 21 |
# File 'lib/rails_sso/helpers.rb', line 19 def authenticate_user! redirect_to sign_in_path unless user_signed_in? end |
#current_user ⇒ Object
9 10 11 12 13 |
# File 'lib/rails_sso/helpers.rb', line 9 def current_user @current_user ||= fetch_user do |user| update_user(user).call end end |
#invalidate_access_token! ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/rails_sso/helpers.rb', line 27 def invalidate_access_token! if RailsSso.provider_sign_out_path access_token.delete(RailsSso.provider_sign_out_path) end reset_session end |
#refresh_access_token! ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/rails_sso/helpers.rb', line 40 def refresh_access_token! save_access_token!(access_token.refresh!) yield if block_given? rescue ::OAuth2::Error nil end |
#save_access_token!(access_token) ⇒ Object
35 36 37 38 |
# File 'lib/rails_sso/helpers.rb', line 35 def save_access_token!(access_token) session[:access_token] = access_token.token session[:refresh_token] = access_token.refresh_token end |
#user_signed_in? ⇒ Boolean
15 16 17 |
# File 'lib/rails_sso/helpers.rb', line 15 def user_signed_in? !!current_user end |