Class: Aker::CasCli
- Inherits:
-
Object
- Object
- Aker::CasCli
- Includes:
- Aker::Cas::ConfigurationHelper
- Defined in:
- lib/aker/cas_cli.rb,
lib/aker/cas_cli/version.rb
Constant Summary collapse
- CLI_SERVICE =
'https://cas-cli.example.edu'
- VERSION =
"1.0.0"
Instance Attribute Summary collapse
-
#configuration ⇒ Aker::Configuration
readonly
The Aker parameters governing this instance.
Instance Method Summary collapse
-
#authenticate(username, password) ⇒ Aker::User?
Attempts to verify the provided credentials.
-
#initialize(configuration, mechanize_options = {}) ⇒ CasCli
constructor
Creates a new instance.
Constructor Details
#initialize(configuration, mechanize_options = {}) ⇒ CasCli
Creates a new instance.
29 30 31 32 33 34 35 36 37 |
# File 'lib/aker/cas_cli.rb', line 29 def initialize(configuration, ={}) @configuration = configuration @agent = Mechanize.new do |a| .each do |attr, value| a.send("#{attr}=", value) end a.redirect_ok = false end end |
Instance Attribute Details
#configuration ⇒ Aker::Configuration (readonly)
Returns the Aker parameters governing this instance.
17 18 19 |
# File 'lib/aker/cas_cli.rb', line 17 def configuration @configuration end |
Instance Method Details
#authenticate(username, password) ⇒ Aker::User?
Attempts to verify the provided credentials. Verification is attempted through screen-scraping the login form provided by the CAS server configured in #configuration.
46 47 48 49 50 51 52 53 |
# File 'lib/aker/cas_cli.rb', line 46 def authenticate(username, password) login_result = do_login(username, password) return unless login_result if st = extract_service_ticket_if_successful(login_result) configuration..valid_credentials?(:cas, st, CLI_SERVICE) end end |