Module: Devise

Defined in:
lib/devise_cas_authenticatable.rb,
lib/devise_cas_authenticatable/model.rb,
lib/devise_cloudfuji_authenticatable.rb,
lib/devise_cas_authenticatable/schema.rb,
lib/devise_cas_authenticatable/strategy.rb

Defined Under Namespace

Modules: Models, Schema, Strategies Classes: CasSessionsController

Constant Summary collapse

@@cas_base_url =

The base URL of the CAS server. For example, cas.example.com. Specifying this is mandatory.

ENV['CLOUDFUJI_CAS_URL'] || "https://cloudfuji.com/cas"
@@cas_login_url =

The login URL of the CAS server. If undefined, will default based on cas_base_url.

nil
@@cas_logout_url =

The login URL of the CAS server. If undefined, will default based on cas_base_url.

nil
@@cas_validate_url =

The login URL of the CAS server. If undefined, will default based on cas_base_url.

nil
@@cas_enable_single_sign_out =

Should devise_cas_authenticatable enable single-sign-out? Requires use of a supported session_store. Currently supports active_record or redis. False by default.

true
@@cas_single_sign_out_mapping_strategy =

What strategy should single sign out use for tracking token->session ID mapping. :rails_cache by default.

:rails_cache
@@cas_create_user =

Should devise_cas_authenticatable attempt to create new user records for unknown usernames? True by default.

true
@@cas_username_column =

The model attribute used for query conditions. Should be the same as the rubycas-server username_column. :username by default

:ido_id
@@cas_destination_logout_param_name =

Name of the parameter passed in the logout query

nil

Class Method Summary collapse

Class Method Details

.cas_action_url(base_url, mapping, action) ⇒ Object



114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/devise_cas_authenticatable.rb', line 114

def self.cas_action_url(base_url, mapping, action)
  u = URI.parse(base_url)
  u.query = nil
  u.path = if mapping.respond_to?(:fullpath)
      mapping.fullpath
    else
      mapping.raw_path
    end
  u.path << "/"
  u.path << action
  u.to_s

  return u.to_s
end

.cas_clientObject

Return a CASClient::Client instance based on configuration parameters.



94
95
96
97
98
99
100
101
102
103
# File 'lib/devise_cas_authenticatable.rb', line 94

def self.cas_client
  @@cas_client ||= CASClient::Client.new(
      :cas_destination_logout_param_name => @@cas_destination_logout_param_name,
      :cas_base_url => @@cas_base_url,
      :login_url => @@cas_login_url,
      :logout_url => @@cas_logout_url,
      :validate_url => @@cas_validate_url,
      :enable_single_sign_out => @@cas_enable_single_sign_out
    )
end

.cas_create_user?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/devise_cas_authenticatable.rb', line 89

def self.cas_create_user?
  cas_create_user
end

.cas_service_url(base_url, mapping) ⇒ Object



105
106
107
# File 'lib/devise_cas_authenticatable.rb', line 105

def self.cas_service_url(base_url, mapping)
  cas_action_url(base_url, mapping, "service")
end

.cas_unregistered_url(base_url, mapping) ⇒ Object



109
110
111
# File 'lib/devise_cas_authenticatable.rb', line 109

def self.cas_unregistered_url(base_url, mapping)
  cas_action_url(base_url, mapping, "unregistered")
end

.on_cloudfuji?Boolean

Returns:

  • (Boolean)


4
5
6
7
# File 'lib/devise_cloudfuji_authenticatable.rb', line 4

def self.on_cloudfuji?
  return false if ENV['CLOUDFUJI_APP_KEY'].nil?
  true
end