rubycas-client 2.3.9 → 2.3.10.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +30 -0
- data/.travis.yml +18 -2
- data/Appraisals +17 -0
- data/Gemfile +7 -21
- data/Guardfile +7 -2
- data/History.txt +15 -0
- data/README.rdoc +3 -1
- data/Rakefile +12 -40
- data/gemfiles/.gitignore +1 -0
- data/gemfiles/rails23.gemfile +7 -0
- data/gemfiles/rails30.gemfile +7 -0
- data/gemfiles/rails31.gemfile +7 -0
- data/gemfiles/rails32.gemfile +7 -0
- data/lib/casclient/client.rb +2 -1
- data/lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb +2 -1
- data/lib/casclient/frameworks/rails/filter.rb +2 -2
- data/lib/casclient/responses.rb +9 -2
- data/lib/casclient/tickets/storage.rb +1 -1
- data/lib/casclient/tickets/storage/active_record_ticket_store.rb +14 -2
- data/lib/rubycas-client/version.rb +3 -0
- data/rubycas-client.gemspec +28 -133
- data/spec/spec_helper.rb +6 -1
- data/spec/support/action_controller_helpers.rb +3 -1
- data/spec/support/shared_examples_for_ticket_stores.rb +1 -1
- metadata +39 -113
- data/Gemfile.lock +0 -74
data/.gitignore
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
*.swp
|
2
|
+
*.gem
|
3
|
+
|
4
|
+
# simplecov generated
|
5
|
+
coverage
|
6
|
+
|
7
|
+
# rdoc generated
|
8
|
+
rdoc
|
9
|
+
|
10
|
+
# yard generated
|
11
|
+
doc
|
12
|
+
.yardoc
|
13
|
+
|
14
|
+
# bundler
|
15
|
+
.bundle
|
16
|
+
|
17
|
+
# jeweler generated
|
18
|
+
pkg
|
19
|
+
|
20
|
+
# rbenv and rvm configs
|
21
|
+
.rbenv-version
|
22
|
+
.rbenv-vars
|
23
|
+
.rvmrc
|
24
|
+
.ruby-version
|
25
|
+
|
26
|
+
tmp
|
27
|
+
|
28
|
+
.project
|
29
|
+
|
30
|
+
Gemfile.lock
|
data/.travis.yml
CHANGED
@@ -1,18 +1,34 @@
|
|
1
1
|
language: ruby
|
2
|
+
gemfile:
|
3
|
+
- gemfiles/rails23.gemfile
|
4
|
+
- gemfiles/rails30.gemfile
|
5
|
+
- gemfiles/rails31.gemfile
|
6
|
+
- gemfiles/rails32.gemfile
|
2
7
|
rvm:
|
3
8
|
- 1.8.7
|
4
9
|
- 1.9.2
|
5
10
|
- 1.9.3
|
11
|
+
- 2.0.0
|
6
12
|
- ruby-head
|
7
|
-
- ree
|
8
13
|
- jruby-18mode
|
9
14
|
- jruby-19mode
|
10
15
|
- jruby-head
|
11
16
|
- rbx-18mode
|
12
17
|
- rbx-19mode
|
13
18
|
matrix:
|
14
|
-
|
19
|
+
exclude:
|
20
|
+
- rvm: 1.9.3
|
21
|
+
gemfile: gemfiles/rails23.gemfile
|
22
|
+
- rvm: 2.0.0
|
23
|
+
gemfile: gemfiles/rails23.gemfile
|
24
|
+
- rvm: ruby-head
|
25
|
+
gemfile: gemfiles/rails23.gemfile
|
15
26
|
- rvm: jruby-19mode
|
27
|
+
gemfile: gemfiles/rails23.gemfile
|
16
28
|
- rvm: jruby-head
|
29
|
+
gemfile: gemfiles/rails23.gemfile
|
17
30
|
- rvm: rbx-19mode
|
31
|
+
gemfile: gemfiles/rails23.gemfile
|
32
|
+
allow_failures:
|
33
|
+
- rvm: jruby-head
|
18
34
|
- rvm: ruby-head
|
data/Appraisals
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
appraise "rails23" do
|
2
|
+
gem "activesupport", "~> 2.3.11"
|
3
|
+
end
|
4
|
+
|
5
|
+
appraise "rails30" do
|
6
|
+
gem "rails", "~> 3.0.17"
|
7
|
+
end
|
8
|
+
|
9
|
+
appraise "rails31" do
|
10
|
+
gem "rails", "~> 3.1.8"
|
11
|
+
end
|
12
|
+
|
13
|
+
appraise "rails32" do
|
14
|
+
gem "rails", "~> 3.2.8"
|
15
|
+
end
|
16
|
+
|
17
|
+
# vim: filetype=ruby
|
data/Gemfile
CHANGED
@@ -1,27 +1,13 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
gem "bundler", ">= 1.0"
|
7
|
-
gem "jeweler"
|
8
|
-
gem "actionpack", :require => 'action_pack'
|
9
|
-
gem "activerecord", :require => 'active_record'
|
10
|
-
gem "rake"
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
group :tools do
|
11
6
|
gem "simplecov", :require => false
|
12
7
|
gem "guard"
|
13
8
|
gem "guard-rspec"
|
14
|
-
gem "
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
platforms :jruby do
|
21
|
-
gem "jruby-openssl"
|
22
|
-
gem "activerecord-jdbcsqlite3-adapter"
|
23
|
-
end
|
9
|
+
gem "guard-bundler"
|
10
|
+
gem "fuubar"
|
11
|
+
gem "rb-fsevent"
|
12
|
+
gem "ruby_gntp", :group => :darwin
|
24
13
|
end
|
25
|
-
|
26
|
-
gem "activesupport", :require => "active_support"
|
27
|
-
|
data/Guardfile
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
# A sample Guardfile
|
2
2
|
# More info at https://github.com/guard/guard#readme
|
3
3
|
|
4
|
-
guard '
|
4
|
+
guard 'bundler' do
|
5
|
+
watch('Gemfile')
|
6
|
+
# Uncomment next line if Gemfile contain `gemspec' command
|
7
|
+
watch(/^.+\.gemspec/)
|
8
|
+
end
|
9
|
+
|
10
|
+
guard 'rspec', :version => 2, :cli => '-c -f Fuubar' do
|
5
11
|
watch(%r{^spec/.+_spec\.rb$})
|
6
12
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
13
|
watch('spec/spec_helper.rb') { "spec" }
|
8
14
|
watch(%r{^spec/support/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
9
15
|
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
10
16
|
end
|
11
|
-
|
data/History.txt
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
= RubyCAS-Client Changelog
|
2
2
|
|
3
|
+
== Version 2.3.10.rc1 :: 2013-03-18
|
4
|
+
|
5
|
+
* Bug Fixes
|
6
|
+
* Fixed bug where ActiveRecordTicketStore failed to add the service
|
7
|
+
ticket to the sessions table
|
8
|
+
* Fixed compatibility of login_to_service with rubycas-server 1.1.x (@bradseefeld)
|
9
|
+
* Fix an issue that prevented inspection of faked extra attributes on the filter (@yurikoval)
|
10
|
+
* Fix travis builds running incorrectly (@tpicket66)
|
11
|
+
* Remove dependency on rubycas-client-rails when Rails 3.x is being used (@KrisSiegel)
|
12
|
+
* Fix an issue where the Ticket Store might break under Rails 3.x
|
13
|
+
* Fix loading the ActiveRecordTicketStore by symbol
|
14
|
+
|
15
|
+
* Other
|
16
|
+
* Vastly expand combinations of ruby and rails versions that are considered supported. - see .travis.yml
|
17
|
+
|
3
18
|
== Version 2.3.9 :: 2012-06-20
|
4
19
|
|
5
20
|
* Other
|
data/README.rdoc
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
{<img src="https://secure.travis-ci.org/rubycas/rubycas-client.png" alt="Build Status" />}[http://travis-ci.org/rubycas/rubycas-client]
|
2
|
+
{<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/rubycas/rubycas-client]
|
3
|
+
|
1
4
|
= RubyCAS-Client
|
2
5
|
|
3
6
|
Authors:: Matt Zukowski <matt AT roughest DOT net> and Matt Campbell <matt AT soupmatt DOT com>; inspired by code by Ola Bini <ola.bini AT ki DOT se> and Matt Walker <mwalker AT tamu DOT edu>
|
@@ -8,7 +11,6 @@ License:: MIT License
|
|
8
11
|
Websites:: http://github.com/rubycas/rubycas-client
|
9
12
|
http://github.com/rubycas/rubycas-client/wiki
|
10
13
|
http://rubydoc.info/github/rubycas/rubycas-client/master/frames
|
11
|
-
Build Status:: {<img src="http://travis-ci.org/rubycas/rubycas-client.png" />}[http://travis-ci.org/rubycas/rubycas-client]
|
12
14
|
|
13
15
|
=== RubyCAS-Client is a Ruby client library for Yale's Central Authentication Service (CAS) protocol.
|
14
16
|
|
data/Rakefile
CHANGED
@@ -1,46 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
|
-
begin
|
6
|
-
Bundler.setup(:default, :development)
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require 'bundler/setup'
|
12
3
|
require 'rake'
|
4
|
+
require 'bundler/gem_tasks'
|
13
5
|
|
14
|
-
require '
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
gem.name = "rubycas-client"
|
17
|
-
gem.homepage = "http://github.com/rubycas/rubycas-client"
|
18
|
-
gem.license = "MIT"
|
19
|
-
gem.summary = "Client library for the Central Authentication Service (CAS) protocol."
|
20
|
-
gem.authors = ["Matt Zukowski", "Matt Walker", "Matt Campbell"]
|
21
|
-
gem.rdoc_options = ['--main', 'README.rdoc']
|
22
|
-
gem.files.exclude '.rvmrc', '.infinity_test', '.rbenv-version', '.rbenv-gemsets'
|
23
|
-
# dependencies defined in Gemfile
|
24
|
-
end
|
25
|
-
Jeweler::RubygemsDotOrgTasks.new
|
6
|
+
require 'appraisal'
|
26
7
|
|
27
|
-
|
28
|
-
|
29
|
-
desc 'Run RSpecs to confirm that all functionality is working as expected'
|
30
|
-
RSpec::Core::RakeTask.new('spec') do |t|
|
31
|
-
t.pattern = 'spec/**/*_spec.rb'
|
32
|
-
end
|
33
|
-
task :default => :spec
|
34
|
-
rescue LoadError
|
35
|
-
puts "Hiding spec tasks because RSpec is not available"
|
36
|
-
end
|
8
|
+
require 'rspec/core/rake_task'
|
9
|
+
RSpec::Core::RakeTask.new
|
37
10
|
|
38
|
-
|
39
|
-
Rake::RDocTask.new do |rdoc|
|
40
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
11
|
+
task :default => [:spec]
|
41
12
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
13
|
+
namespace :spec do
|
14
|
+
desc 'run the specs and features against every gemset.'
|
15
|
+
task :all do
|
16
|
+
system("bundle exec rake -s appraisal spec ;")
|
17
|
+
end
|
46
18
|
end
|
data/gemfiles/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.lock
|
data/lib/casclient/client.rb
CHANGED
@@ -44,7 +44,8 @@ module CASClient
|
|
44
44
|
when :local_dir_ticket_store, nil
|
45
45
|
CASClient::Tickets::Storage::LocalDirTicketStore
|
46
46
|
when :active_record_ticket_store
|
47
|
-
|
47
|
+
require 'casclient/tickets/storage/active_record_ticket_store'
|
48
|
+
CASClient::Tickets::Storage::ActiveRecordTicketStore
|
48
49
|
else
|
49
50
|
conf[:ticket_store]
|
50
51
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'action_controller'
|
1
2
|
# Rails controller that responds to proxy generating ticket callbacks from the CAS server and allows
|
2
3
|
# for retrieval of those PGTs.
|
3
4
|
class CasProxyCallbackController < ActionController::Base
|
@@ -23,7 +24,7 @@ class CasProxyCallbackController < ActionController::Base
|
|
23
24
|
|
24
25
|
# TODO: pstore contents should probably be encrypted...
|
25
26
|
|
26
|
-
if
|
27
|
+
if defined?(RubyCAS::Filter)
|
27
28
|
casclient = RubyCAS::Filter.client
|
28
29
|
else
|
29
30
|
casclient = CASClient::Frameworks::Rails::Filter.client
|
@@ -2,7 +2,7 @@ module CASClient
|
|
2
2
|
module Frameworks
|
3
3
|
module Rails
|
4
4
|
class Filter
|
5
|
-
cattr_reader :config, :log, :client, :fake_user, :
|
5
|
+
cattr_reader :config, :log, :client, :fake_user, :fake_extra_attributes
|
6
6
|
|
7
7
|
# These are initialized when you call configure.
|
8
8
|
@@config = nil
|
@@ -297,7 +297,7 @@ module CASClient
|
|
297
297
|
|
298
298
|
log.debug "Intercepted single-sign-out request for CAS session #{si.inspect}."
|
299
299
|
|
300
|
-
@@client.ticket_store.process_single_sign_out(si)
|
300
|
+
@@client.ticket_store.process_single_sign_out(si)
|
301
301
|
|
302
302
|
# Return true to indicate that a single-sign-out request was detected
|
303
303
|
# and that further processing of the request is unnecessary.
|
data/lib/casclient/responses.rb
CHANGED
@@ -190,8 +190,15 @@ module CASClient
|
|
190
190
|
if location =~ /ticket=([^&]+)/
|
191
191
|
@ticket = $~[1]
|
192
192
|
end
|
193
|
-
|
194
|
-
|
193
|
+
|
194
|
+
# Legacy check. CAS Server used to return a 200 (Success) or a 302 (Found) on successful authentication.
|
195
|
+
# This behavior should be deprecated at some point in the future.
|
196
|
+
legacy_valid_ticket = (http_response.kind_of?(Net::HTTPSuccess) || http_response.kind_of?(Net::HTTPFound)) && @ticket.present?
|
197
|
+
|
198
|
+
# If using rubycas-server 1.1.0+
|
199
|
+
valid_ticket = http_response.kind_of?(Net::HTTPSeeOther) && @ticket.present?
|
200
|
+
|
201
|
+
if !legacy_valid_ticket && !valid_ticket
|
195
202
|
@failure = true
|
196
203
|
# Try to extract the error message -- this only works with RubyCAS-Server.
|
197
204
|
# For other servers we just return the entire response body (i.e. the whole error page).
|
@@ -29,7 +29,7 @@ module CASClient
|
|
29
29
|
session_id = read_service_session_lookup(st)
|
30
30
|
unless session_id.nil?
|
31
31
|
# This feels a bit hackish, but there isn't really a better way to go about it that I am aware of yet
|
32
|
-
session = ActiveRecord::SessionStore.session_class.
|
32
|
+
session = ActiveRecord::SessionStore.session_class.find(:first, :conditions => {:session_id => session_id})
|
33
33
|
else
|
34
34
|
log.warn("Couldn't destroy session service ticket #{st} because no corresponding session id could be found.")
|
35
35
|
end
|
@@ -4,7 +4,8 @@ module CASClient
|
|
4
4
|
|
5
5
|
# A Ticket Store that keeps it's ticket in database tables using ActiveRecord.
|
6
6
|
#
|
7
|
-
# Services Tickets are stored in an extra column
|
7
|
+
# Services Tickets are stored in an extra column added to the ActiveRecord sessions table.
|
8
|
+
# You will need to add the service_ticket column your ActiveRecord sessions table.
|
8
9
|
# Proxy Granting Tickets and their IOUs are stored in the cas_pgtious table.
|
9
10
|
#
|
10
11
|
# This ticket store takes the following config parameters
|
@@ -16,6 +17,7 @@ module CASClient
|
|
16
17
|
if config[:pgtious_table_name]
|
17
18
|
CasPgtiou.set_table_name = config[:pgtious_table_name]
|
18
19
|
end
|
20
|
+
ActiveRecord::SessionStore.session_class = ServiceTicketAwareSession
|
19
21
|
end
|
20
22
|
|
21
23
|
def store_service_session_lookup(st, controller)
|
@@ -62,7 +64,17 @@ module CASClient
|
|
62
64
|
|
63
65
|
end
|
64
66
|
|
65
|
-
|
67
|
+
ACTIVE_RECORD_TICKET_STORE = ActiveRecordTicketStore
|
68
|
+
|
69
|
+
class ServiceTicketAwareSession < ActiveRecord::SessionStore::Session
|
70
|
+
before_save :save_service_ticket
|
71
|
+
|
72
|
+
def save_service_ticket
|
73
|
+
if data[:service_ticket]
|
74
|
+
self.service_ticket = data[:service_ticket]
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
66
78
|
|
67
79
|
class CasPgtiou < ActiveRecord::Base
|
68
80
|
#t.string :pgt_iou, :null => false
|
data/rubycas-client.gemspec
CHANGED
@@ -1,143 +1,38 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$LOAD_PATH << File.expand_path("../lib", __FILE__)
|
3
|
+
require 'rubycas-client/version'
|
5
4
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
s.extra_rdoc_files = [
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gem.authors = ["Matt Campbell", "Matt Zukowski", "Matt Walker", "Matt Campbell"]
|
7
|
+
gem.email = ["matt@soupmatt.com"]
|
8
|
+
gem.summary = %q{Client library for the Central Authentication Service (CAS) protocol.}
|
9
|
+
gem.description = %q{Client library for the Central Authentication Service (CAS) protocol.}
|
10
|
+
gem.homepage = "https://github.com/rubycas/rubycas-client"
|
11
|
+
gem.extra_rdoc_files = [
|
14
12
|
"LICENSE.txt",
|
15
13
|
"README.rdoc"
|
16
14
|
]
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
".travis.yml",
|
21
|
-
"CHANGELOG.txt",
|
22
|
-
"Gemfile",
|
23
|
-
"Gemfile.lock",
|
24
|
-
"Guardfile",
|
25
|
-
"History.txt",
|
26
|
-
"LICENSE.txt",
|
27
|
-
"README.rdoc",
|
28
|
-
"Rakefile",
|
29
|
-
"TODO.md",
|
30
|
-
"VERSION",
|
31
|
-
"examples/rails/README",
|
32
|
-
"examples/rails/app/controllers/advanced_example_controller.rb",
|
33
|
-
"examples/rails/app/controllers/application.rb",
|
34
|
-
"examples/rails/app/controllers/simple_example_controller.rb",
|
35
|
-
"examples/rails/app/views/advanced_example/index.html.erb",
|
36
|
-
"examples/rails/app/views/advanced_example/my_account.html.erb",
|
37
|
-
"examples/rails/app/views/simple_example/index.html.erb",
|
38
|
-
"examples/rails/config/boot.rb",
|
39
|
-
"examples/rails/config/environment.rb",
|
40
|
-
"examples/rails/config/environments/development.rb",
|
41
|
-
"examples/rails/config/environments/production.rb",
|
42
|
-
"examples/rails/config/environments/test.rb",
|
43
|
-
"examples/rails/config/initializers/inflections.rb",
|
44
|
-
"examples/rails/config/initializers/mime_types.rb",
|
45
|
-
"examples/rails/config/initializers/new_rails_defaults.rb",
|
46
|
-
"examples/rails/config/routes.rb",
|
47
|
-
"examples/rails/log/development.log",
|
48
|
-
"examples/rails/log/production.log",
|
49
|
-
"examples/rails/log/server.log",
|
50
|
-
"examples/rails/log/test.log",
|
51
|
-
"examples/rails/script/about",
|
52
|
-
"examples/rails/script/console",
|
53
|
-
"examples/rails/script/server",
|
54
|
-
"lib/casclient.rb",
|
55
|
-
"lib/casclient/client.rb",
|
56
|
-
"lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb",
|
57
|
-
"lib/casclient/frameworks/rails/filter.rb",
|
58
|
-
"lib/casclient/responses.rb",
|
59
|
-
"lib/casclient/tickets.rb",
|
60
|
-
"lib/casclient/tickets/storage.rb",
|
61
|
-
"lib/casclient/tickets/storage/active_record_ticket_store.rb",
|
62
|
-
"lib/rubycas-client.rb",
|
63
|
-
"rails_generators/active_record_ticket_store/USAGE",
|
64
|
-
"rails_generators/active_record_ticket_store/active_record_ticket_store_generator.rb",
|
65
|
-
"rails_generators/active_record_ticket_store/templates/README",
|
66
|
-
"rails_generators/active_record_ticket_store/templates/migration.rb",
|
67
|
-
"rubycas-client.gemspec",
|
68
|
-
"spec/.gitignore",
|
69
|
-
"spec/casclient/client_spec.rb",
|
70
|
-
"spec/casclient/frameworks/rails/filter_spec.rb",
|
71
|
-
"spec/casclient/tickets/storage/active_record_ticket_store_spec.rb",
|
72
|
-
"spec/casclient/tickets/storage_spec.rb",
|
73
|
-
"spec/casclient/validation_response_spec.rb",
|
74
|
-
"spec/database.yml",
|
75
|
-
"spec/spec_helper.rb",
|
76
|
-
"spec/support/action_controller_helpers.rb",
|
77
|
-
"spec/support/active_record_helpers.rb",
|
78
|
-
"spec/support/local_hash_ticket_store.rb",
|
79
|
-
"spec/support/local_hash_ticket_store_spec.rb",
|
80
|
-
"spec/support/shared_examples_for_ticket_stores.rb"
|
81
|
-
]
|
82
|
-
s.homepage = "http://github.com/rubycas/rubycas-client"
|
83
|
-
s.licenses = ["MIT"]
|
84
|
-
s.rdoc_options = ["--main", "README.rdoc"]
|
85
|
-
s.require_paths = ["lib"]
|
86
|
-
s.rubygems_version = "1.8.23"
|
87
|
-
s.summary = "Client library for the Central Authentication Service (CAS) protocol."
|
15
|
+
gem.licenses = ["MIT"]
|
16
|
+
gem.rdoc_options = ["--main", "README.rdoc"]
|
17
|
+
gem.version = CasClient::VERSION
|
88
18
|
|
89
|
-
|
90
|
-
|
19
|
+
gem.files = `git ls-files`.split($\)
|
20
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
21
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
22
|
+
gem.name = "rubycas-client"
|
23
|
+
gem.require_paths = ["lib"]
|
91
24
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
s.add_development_dependency(%q<guard>, [">= 0"])
|
103
|
-
s.add_development_dependency(%q<guard-rspec>, [">= 0"])
|
104
|
-
s.add_development_dependency(%q<database_cleaner>, [">= 0"])
|
105
|
-
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
106
|
-
s.add_development_dependency(%q<jruby-openssl>, [">= 0"])
|
107
|
-
s.add_development_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
|
108
|
-
else
|
109
|
-
s.add_dependency(%q<activesupport>, [">= 0"])
|
110
|
-
s.add_dependency(%q<json>, [">= 0"])
|
111
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
112
|
-
s.add_dependency(%q<bundler>, [">= 1.0"])
|
113
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
114
|
-
s.add_dependency(%q<actionpack>, [">= 0"])
|
115
|
-
s.add_dependency(%q<activerecord>, [">= 0"])
|
116
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
117
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
118
|
-
s.add_dependency(%q<guard>, [">= 0"])
|
119
|
-
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
120
|
-
s.add_dependency(%q<database_cleaner>, [">= 0"])
|
121
|
-
s.add_dependency(%q<sqlite3>, [">= 0"])
|
122
|
-
s.add_dependency(%q<jruby-openssl>, [">= 0"])
|
123
|
-
s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
|
124
|
-
end
|
25
|
+
gem.add_dependency("activesupport")
|
26
|
+
gem.add_development_dependency("rake")
|
27
|
+
gem.add_development_dependency("database_cleaner")
|
28
|
+
gem.add_development_dependency("json")
|
29
|
+
gem.add_development_dependency("rspec")
|
30
|
+
gem.add_development_dependency("appraisal")
|
31
|
+
gem.add_development_dependency("rails")
|
32
|
+
gem.add_development_dependency("simplecov")
|
33
|
+
if defined?(JRUBY_VERSION)
|
34
|
+
gem.add_development_dependency("activerecord-jdbcsqlite3-adapter")
|
125
35
|
else
|
126
|
-
|
127
|
-
s.add_dependency(%q<json>, [">= 0"])
|
128
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
129
|
-
s.add_dependency(%q<bundler>, [">= 1.0"])
|
130
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
131
|
-
s.add_dependency(%q<actionpack>, [">= 0"])
|
132
|
-
s.add_dependency(%q<activerecord>, [">= 0"])
|
133
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
134
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
135
|
-
s.add_dependency(%q<guard>, [">= 0"])
|
136
|
-
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
137
|
-
s.add_dependency(%q<database_cleaner>, [">= 0"])
|
138
|
-
s.add_dependency(%q<sqlite3>, [">= 0"])
|
139
|
-
s.add_dependency(%q<jruby-openssl>, [">= 0"])
|
140
|
-
s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
|
36
|
+
gem.add_development_dependency("sqlite3")
|
141
37
|
end
|
142
38
|
end
|
143
|
-
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'bundler'
|
2
2
|
Bundler.setup(:default, :development)
|
3
|
-
require 'simplecov' unless ENV['TRAVIS']
|
3
|
+
require 'simplecov' unless ENV['TRAVIS'] || defined?(JRUBY_VERSION)
|
4
4
|
Bundler.require
|
5
5
|
|
6
6
|
require 'rubycas-client'
|
@@ -18,6 +18,11 @@ RSpec.configure do |config|
|
|
18
18
|
config.mock_framework = :rspec
|
19
19
|
config.include ActionControllerHelpers
|
20
20
|
|
21
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
22
|
+
config.filter_run_including :focus
|
23
|
+
config.run_all_when_everything_filtered = true
|
24
|
+
config.fail_fast = false
|
25
|
+
|
21
26
|
config.before(:suite) do
|
22
27
|
ActiveRecordHelpers.setup_active_record
|
23
28
|
DatabaseCleaner.strategy = :transaction
|
@@ -23,8 +23,10 @@ module ActionControllerHelpers
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def mock_post_request
|
26
|
-
mock_request =
|
26
|
+
mock_request = double("request")
|
27
27
|
mock_request.stub(:post?) {true}
|
28
|
+
mock_request.stub(:session_options) { Hash.new }
|
29
|
+
mock_request.stub(:headers) { Hash.new }
|
28
30
|
mock_request
|
29
31
|
end
|
30
32
|
end
|
@@ -50,7 +50,7 @@ shared_examples "a ticket store interacting with sessions" do
|
|
50
50
|
end
|
51
51
|
context "the session" do
|
52
52
|
it "should be destroyed" do
|
53
|
-
ActiveRecord::SessionStore.session_class.
|
53
|
+
ActiveRecord::SessionStore.session_class.find(:first, :conditions => {:session_id => session.session_id}).should be_nil
|
54
54
|
end
|
55
55
|
end
|
56
56
|
it "should destroy session for the given service ticket" do
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycas-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
5
|
-
prerelease:
|
4
|
+
version: 2.3.10.rc1
|
5
|
+
prerelease: 7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
+
- Matt Campbell
|
8
9
|
- Matt Zukowski
|
9
10
|
- Matt Walker
|
10
11
|
- Matt Campbell
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date:
|
15
|
+
date: 2013-03-18 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: activesupport
|
@@ -30,7 +31,7 @@ dependencies:
|
|
30
31
|
- !ruby/object:Gem::Version
|
31
32
|
version: '0'
|
32
33
|
- !ruby/object:Gem::Dependency
|
33
|
-
name:
|
34
|
+
name: rake
|
34
35
|
requirement: !ruby/object:Gem::Requirement
|
35
36
|
none: false
|
36
37
|
requirements:
|
@@ -46,7 +47,7 @@ dependencies:
|
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '0'
|
48
49
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
50
|
+
name: database_cleaner
|
50
51
|
requirement: !ruby/object:Gem::Requirement
|
51
52
|
none: false
|
52
53
|
requirements:
|
@@ -62,23 +63,7 @@ dependencies:
|
|
62
63
|
- !ruby/object:Gem::Version
|
63
64
|
version: '0'
|
64
65
|
- !ruby/object:Gem::Dependency
|
65
|
-
name:
|
66
|
-
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
|
-
requirements:
|
69
|
-
- - ! '>='
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '1.0'
|
72
|
-
type: :development
|
73
|
-
prerelease: false
|
74
|
-
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
|
-
requirements:
|
77
|
-
- - ! '>='
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1.0'
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: jeweler
|
66
|
+
name: json
|
82
67
|
requirement: !ruby/object:Gem::Requirement
|
83
68
|
none: false
|
84
69
|
requirements:
|
@@ -94,7 +79,7 @@ dependencies:
|
|
94
79
|
- !ruby/object:Gem::Version
|
95
80
|
version: '0'
|
96
81
|
- !ruby/object:Gem::Dependency
|
97
|
-
name:
|
82
|
+
name: rspec
|
98
83
|
requirement: !ruby/object:Gem::Requirement
|
99
84
|
none: false
|
100
85
|
requirements:
|
@@ -110,7 +95,7 @@ dependencies:
|
|
110
95
|
- !ruby/object:Gem::Version
|
111
96
|
version: '0'
|
112
97
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
98
|
+
name: appraisal
|
114
99
|
requirement: !ruby/object:Gem::Requirement
|
115
100
|
none: false
|
116
101
|
requirements:
|
@@ -126,7 +111,7 @@ dependencies:
|
|
126
111
|
- !ruby/object:Gem::Version
|
127
112
|
version: '0'
|
128
113
|
- !ruby/object:Gem::Dependency
|
129
|
-
name:
|
114
|
+
name: rails
|
130
115
|
requirement: !ruby/object:Gem::Requirement
|
131
116
|
none: false
|
132
117
|
requirements:
|
@@ -157,54 +142,6 @@ dependencies:
|
|
157
142
|
- - ! '>='
|
158
143
|
- !ruby/object:Gem::Version
|
159
144
|
version: '0'
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: guard
|
162
|
-
requirement: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
|
-
requirements:
|
165
|
-
- - ! '>='
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
version: '0'
|
168
|
-
type: :development
|
169
|
-
prerelease: false
|
170
|
-
version_requirements: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
|
-
requirements:
|
173
|
-
- - ! '>='
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: '0'
|
176
|
-
- !ruby/object:Gem::Dependency
|
177
|
-
name: guard-rspec
|
178
|
-
requirement: !ruby/object:Gem::Requirement
|
179
|
-
none: false
|
180
|
-
requirements:
|
181
|
-
- - ! '>='
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
version: '0'
|
184
|
-
type: :development
|
185
|
-
prerelease: false
|
186
|
-
version_requirements: !ruby/object:Gem::Requirement
|
187
|
-
none: false
|
188
|
-
requirements:
|
189
|
-
- - ! '>='
|
190
|
-
- !ruby/object:Gem::Version
|
191
|
-
version: '0'
|
192
|
-
- !ruby/object:Gem::Dependency
|
193
|
-
name: database_cleaner
|
194
|
-
requirement: !ruby/object:Gem::Requirement
|
195
|
-
none: false
|
196
|
-
requirements:
|
197
|
-
- - ! '>='
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '0'
|
200
|
-
type: :development
|
201
|
-
prerelease: false
|
202
|
-
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
none: false
|
204
|
-
requirements:
|
205
|
-
- - ! '>='
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: '0'
|
208
145
|
- !ruby/object:Gem::Dependency
|
209
146
|
name: sqlite3
|
210
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,52 +158,22 @@ dependencies:
|
|
221
158
|
- - ! '>='
|
222
159
|
- !ruby/object:Gem::Version
|
223
160
|
version: '0'
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
none: false
|
228
|
-
requirements:
|
229
|
-
- - ! '>='
|
230
|
-
- !ruby/object:Gem::Version
|
231
|
-
version: '0'
|
232
|
-
type: :development
|
233
|
-
prerelease: false
|
234
|
-
version_requirements: !ruby/object:Gem::Requirement
|
235
|
-
none: false
|
236
|
-
requirements:
|
237
|
-
- - ! '>='
|
238
|
-
- !ruby/object:Gem::Version
|
239
|
-
version: '0'
|
240
|
-
- !ruby/object:Gem::Dependency
|
241
|
-
name: activerecord-jdbcsqlite3-adapter
|
242
|
-
requirement: !ruby/object:Gem::Requirement
|
243
|
-
none: false
|
244
|
-
requirements:
|
245
|
-
- - ! '>='
|
246
|
-
- !ruby/object:Gem::Version
|
247
|
-
version: '0'
|
248
|
-
type: :development
|
249
|
-
prerelease: false
|
250
|
-
version_requirements: !ruby/object:Gem::Requirement
|
251
|
-
none: false
|
252
|
-
requirements:
|
253
|
-
- - ! '>='
|
254
|
-
- !ruby/object:Gem::Version
|
255
|
-
version: '0'
|
256
|
-
description:
|
257
|
-
email:
|
161
|
+
description: Client library for the Central Authentication Service (CAS) protocol.
|
162
|
+
email:
|
163
|
+
- matt@soupmatt.com
|
258
164
|
executables: []
|
259
165
|
extensions: []
|
260
166
|
extra_rdoc_files:
|
261
167
|
- LICENSE.txt
|
262
168
|
- README.rdoc
|
263
169
|
files:
|
170
|
+
- .gitignore
|
264
171
|
- .rspec
|
265
172
|
- .simplecov
|
266
173
|
- .travis.yml
|
174
|
+
- Appraisals
|
267
175
|
- CHANGELOG.txt
|
268
176
|
- Gemfile
|
269
|
-
- Gemfile.lock
|
270
177
|
- Guardfile
|
271
178
|
- History.txt
|
272
179
|
- LICENSE.txt
|
@@ -297,6 +204,11 @@ files:
|
|
297
204
|
- examples/rails/script/about
|
298
205
|
- examples/rails/script/console
|
299
206
|
- examples/rails/script/server
|
207
|
+
- gemfiles/.gitignore
|
208
|
+
- gemfiles/rails23.gemfile
|
209
|
+
- gemfiles/rails30.gemfile
|
210
|
+
- gemfiles/rails31.gemfile
|
211
|
+
- gemfiles/rails32.gemfile
|
300
212
|
- lib/casclient.rb
|
301
213
|
- lib/casclient/client.rb
|
302
214
|
- lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb
|
@@ -306,6 +218,7 @@ files:
|
|
306
218
|
- lib/casclient/tickets/storage.rb
|
307
219
|
- lib/casclient/tickets/storage/active_record_ticket_store.rb
|
308
220
|
- lib/rubycas-client.rb
|
221
|
+
- lib/rubycas-client/version.rb
|
309
222
|
- rails_generators/active_record_ticket_store/USAGE
|
310
223
|
- rails_generators/active_record_ticket_store/active_record_ticket_store_generator.rb
|
311
224
|
- rails_generators/active_record_ticket_store/templates/README
|
@@ -324,7 +237,7 @@ files:
|
|
324
237
|
- spec/support/local_hash_ticket_store.rb
|
325
238
|
- spec/support/local_hash_ticket_store_spec.rb
|
326
239
|
- spec/support/shared_examples_for_ticket_stores.rb
|
327
|
-
homepage:
|
240
|
+
homepage: https://github.com/rubycas/rubycas-client
|
328
241
|
licenses:
|
329
242
|
- MIT
|
330
243
|
post_install_message:
|
@@ -341,17 +254,30 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
341
254
|
version: '0'
|
342
255
|
segments:
|
343
256
|
- 0
|
344
|
-
hash:
|
257
|
+
hash: 417856599320960902
|
345
258
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
346
259
|
none: false
|
347
260
|
requirements:
|
348
|
-
- - ! '
|
261
|
+
- - ! '>'
|
349
262
|
- !ruby/object:Gem::Version
|
350
|
-
version:
|
263
|
+
version: 1.3.1
|
351
264
|
requirements: []
|
352
265
|
rubyforge_project:
|
353
266
|
rubygems_version: 1.8.23
|
354
267
|
signing_key:
|
355
268
|
specification_version: 3
|
356
269
|
summary: Client library for the Central Authentication Service (CAS) protocol.
|
357
|
-
test_files:
|
270
|
+
test_files:
|
271
|
+
- spec/.gitignore
|
272
|
+
- spec/casclient/client_spec.rb
|
273
|
+
- spec/casclient/frameworks/rails/filter_spec.rb
|
274
|
+
- spec/casclient/tickets/storage/active_record_ticket_store_spec.rb
|
275
|
+
- spec/casclient/tickets/storage_spec.rb
|
276
|
+
- spec/casclient/validation_response_spec.rb
|
277
|
+
- spec/database.yml
|
278
|
+
- spec/spec_helper.rb
|
279
|
+
- spec/support/action_controller_helpers.rb
|
280
|
+
- spec/support/active_record_helpers.rb
|
281
|
+
- spec/support/local_hash_ticket_store.rb
|
282
|
+
- spec/support/local_hash_ticket_store_spec.rb
|
283
|
+
- spec/support/shared_examples_for_ticket_stores.rb
|
data/Gemfile.lock
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
actionpack (2.3.11)
|
5
|
-
activesupport (= 2.3.11)
|
6
|
-
rack (~> 1.1.0)
|
7
|
-
activerecord (2.3.11)
|
8
|
-
activesupport (= 2.3.11)
|
9
|
-
activerecord-jdbc-adapter (1.2.2)
|
10
|
-
activerecord-jdbcsqlite3-adapter (1.2.2)
|
11
|
-
activerecord-jdbc-adapter (~> 1.2.2)
|
12
|
-
jdbc-sqlite3 (~> 3.7.2)
|
13
|
-
activesupport (2.3.11)
|
14
|
-
bouncy-castle-java (1.5.0146.1)
|
15
|
-
database_cleaner (0.7.1)
|
16
|
-
diff-lcs (1.1.3)
|
17
|
-
ffi (1.0.11)
|
18
|
-
ffi (1.0.11-java)
|
19
|
-
git (1.2.5)
|
20
|
-
guard (1.0.0)
|
21
|
-
ffi (>= 0.5.0)
|
22
|
-
thor (~> 0.14.6)
|
23
|
-
guard-rspec (0.6.0)
|
24
|
-
guard (>= 0.10.0)
|
25
|
-
jdbc-sqlite3 (3.7.2)
|
26
|
-
jeweler (1.8.3)
|
27
|
-
bundler (~> 1.0)
|
28
|
-
git (>= 1.2.5)
|
29
|
-
rake
|
30
|
-
rdoc
|
31
|
-
jruby-openssl (0.7.5)
|
32
|
-
bouncy-castle-java (>= 1.5.0146.1)
|
33
|
-
json (1.6.5)
|
34
|
-
json (1.6.5-java)
|
35
|
-
multi_json (1.0.4)
|
36
|
-
rack (1.1.2)
|
37
|
-
rake (0.9.2.2)
|
38
|
-
rdoc (3.12)
|
39
|
-
json (~> 1.4)
|
40
|
-
rspec (2.8.0)
|
41
|
-
rspec-core (~> 2.8.0)
|
42
|
-
rspec-expectations (~> 2.8.0)
|
43
|
-
rspec-mocks (~> 2.8.0)
|
44
|
-
rspec-core (2.8.0)
|
45
|
-
rspec-expectations (2.8.0)
|
46
|
-
diff-lcs (~> 1.1.2)
|
47
|
-
rspec-mocks (2.8.0)
|
48
|
-
simplecov (0.5.4)
|
49
|
-
multi_json (~> 1.0.3)
|
50
|
-
simplecov-html (~> 0.5.3)
|
51
|
-
simplecov-html (0.5.3)
|
52
|
-
sqlite3 (1.3.5)
|
53
|
-
thor (0.14.6)
|
54
|
-
|
55
|
-
PLATFORMS
|
56
|
-
java
|
57
|
-
ruby
|
58
|
-
|
59
|
-
DEPENDENCIES
|
60
|
-
actionpack
|
61
|
-
activerecord
|
62
|
-
activerecord-jdbcsqlite3-adapter
|
63
|
-
activesupport
|
64
|
-
bundler (>= 1.0)
|
65
|
-
database_cleaner
|
66
|
-
guard
|
67
|
-
guard-rspec
|
68
|
-
jeweler
|
69
|
-
jruby-openssl
|
70
|
-
json
|
71
|
-
rake
|
72
|
-
rspec
|
73
|
-
simplecov
|
74
|
-
sqlite3
|