Sha256: a3b4a9486c86da0f15c058fc3a768646523eba02199eeeec5ce901fa6c6e6453
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 KB
Contents
module DoorkeeperSsoClient module Mixins module ControllerHelpers extend ActiveSupport::Concern module ClassMethods def activate_sso(scope, options = {}) class_eval <<-METHODS, __FILE__, __LINE__ + 1 def validate_passport! if #{scope}_signed_in? sign_out(current_#{scope}) unless current_#{scope}.passport.try(:active?) end return true end def after_sign_out_path_for(resource_or_scope) scope = Devise::Mapping.find_scope!(resource_or_scope) if scope == :#{scope} return File.join( DoorkeeperSsoClient::Config.base_uri, "logout?app_id=" + DoorkeeperSsoClient::Config.oauth_client_id.to_s ) end super end METHODS unless options[:skip_devise_hook] class_eval <<-METHODS, __FILE__, __LINE__ + 1 def authenticate_#{scope}! store_location_for(:#{scope}, request.original_url) validate_passport! redirect_to DoorkeeperSsoClient::Config.oauth_login_path unless #{scope}_signed_in? end METHODS end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper_sso_client-0.3.0 | lib/doorkeeper_sso_client/mixins/controller_helpers.rb |
doorkeeper_sso_client-0.2.9 | lib/doorkeeper_sso_client/mixins/controller_helpers.rb |