cassiopeia 0.1.7 → 0.2.0
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/README.rdoc +3 -0
- data/Rakefile +1 -1
- data/lib/cassiopeia.rb +4 -7
- data/lib/cassiopeia/action_controller_client_mixin.rb +3 -2
- data/lib/cassiopeia/base.rb +3 -1
- data/lib/cassiopeia/base_rack.rb +2 -2
- data/lib/cassiopeia/railtie.rb +10 -0
- metadata +18 -17
data/README.rdoc
CHANGED
@@ -7,6 +7,9 @@
|
|
7
7
|
- Yet another custom CAS client/server implementation. This plugin allows you to perform single-server authorization between two different rails applications.
|
8
8
|
|
9
9
|
= Changelog:
|
10
|
+
- 0.2.0: Rails 3 support implemented (no backward compatibility with Rails 2)
|
11
|
+
- 0.1.7: First stage of compatibility with Rails 3 (RAILS_ROOT replaced with Rails.root)
|
12
|
+
- 0.1.6: Minor hot-fixes
|
10
13
|
- 0.1.5: Method to_json of User class fixed.
|
11
14
|
- 0.1.3: Removing request after return made optional
|
12
15
|
- 0.1.2: Added some new parameters of request saving to the default configuration.
|
data/Rakefile
CHANGED
@@ -18,7 +18,7 @@ spec = Gem::Specification.new do |s|
|
|
18
18
|
s.platform = Gem::Platform::RUBY
|
19
19
|
s.summary = "Rails plugin for custom CAS(Cassiopeia) server/client implementation"
|
20
20
|
s.add_dependency('uuidtools')
|
21
|
-
s.add_dependency('rails', '>=
|
21
|
+
s.add_dependency('rails', '>=3.0.0')
|
22
22
|
s.files = PKG_FILES.to_a
|
23
23
|
s.require_path = "lib"
|
24
24
|
s.has_rdoc = false
|
data/lib/cassiopeia.rb
CHANGED
@@ -1,31 +1,28 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__)) unless
|
2
2
|
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
|
+
require "cassiopeia/railtie"
|
4
|
+
|
3
5
|
module Cassiopeia
|
4
|
-
VERSION = '0.
|
6
|
+
VERSION = '0.2.0'
|
5
7
|
autoload :User, 'cassiopeia/user'
|
6
8
|
autoload :Base, 'cassiopeia/base'
|
7
9
|
autoload :Exception, 'cassiopeia/base'
|
8
10
|
autoload :Server, 'cassiopeia/server'
|
9
11
|
autoload :Client, 'cassiopeia/client'
|
10
|
-
autoload :CONFIG, 'cassiopeia/config'
|
11
12
|
autoload :ActiveRecordServerMixin, 'cassiopeia/active_record_server_mixin'
|
12
13
|
autoload :ActionControllerServerMixin, 'cassiopeia/action_controller_server_mixin'
|
13
14
|
autoload :ActionControllerClientMixin, 'cassiopeia/action_controller_client_mixin'
|
14
15
|
autoload :RackRestoreRequest, 'cassiopeia/rack_restore_request'
|
15
16
|
autoload :BaseRack, 'cassiopeia/base_rack'
|
16
17
|
autoload :CassiopeiaRequest, 'cassiopeia/client'
|
18
|
+
autoload :CONFIG, 'cassiopeia/config'
|
17
19
|
|
18
20
|
class << self
|
19
21
|
def enable
|
20
22
|
ActionController::Base.send :extend, ActionControllerServerMixin
|
21
23
|
ActiveRecord::Base.send :extend, ActiveRecordServerMixin
|
22
24
|
ActionController::Base.send :extend, ActionControllerClientMixin
|
23
|
-
Rails.configuration.middleware.use RackRestoreRequest if CONFIG[:service_id]
|
24
25
|
puts "Cassiopeia #{VERSION} enabled"
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|
28
|
-
|
29
|
-
if defined? Rails && defined? Rails.root
|
30
|
-
Cassiopeia.enable
|
31
|
-
end
|
@@ -22,9 +22,10 @@ module Cassiopeia
|
|
22
22
|
session[CAS_TICKET_ID_KEY] = nil
|
23
23
|
end
|
24
24
|
def cas_current_ticket_valid?
|
25
|
+
utc = ActiveSupport::TimeZone['UTC']
|
25
26
|
logger.debug "\n Ticket.expires_at= #{cas_current_ticket[:expires_at]} \n" + "="*50 if cas_current_ticket
|
26
|
-
logger.debug "\nCurrent ticket valid: #{
|
27
|
-
cas_current_ticket &&
|
27
|
+
logger.debug "\nCurrent ticket valid: #{utc.parse(cas_current_ticket[:expires_at])} >= #{Time.now.utc}\n" + "="*50 if cas_current_ticket && cas_current_ticket[:expires_at]
|
28
|
+
cas_current_ticket && utc.parse(cas_current_ticket[:expires_at]) >= Time.now.utc if cas_current_ticket && cas_current_ticket[:expires_at]
|
28
29
|
end
|
29
30
|
def cas_request_ticket_id
|
30
31
|
logger.debug "\nStoring current request:...#{params[CAS_UNIQUE_REQ_KEY]} \n" + "="*50
|
data/lib/cassiopeia/base.rb
CHANGED
data/lib/cassiopeia/base_rack.rb
CHANGED
@@ -23,7 +23,7 @@ module Cassiopeia
|
|
23
23
|
|
24
24
|
def cas_current_ticket_valid?(env)
|
25
25
|
@ticket = cas_current_ticket(env)
|
26
|
-
@ticket &&
|
26
|
+
@ticket && ActiveSupport::TimeZone['UTC'].parse(@ticket[:expires_at]) >= Time.now.utc if @ticket && @ticket[:expires_at]
|
27
27
|
end
|
28
28
|
|
29
29
|
def enabled
|
@@ -48,7 +48,7 @@ module Cassiopeia
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def generate_expiration
|
51
|
-
|
51
|
+
Time.now.utc + CAS_REQ_TIMEOUT / 24.0 / 60.0
|
52
52
|
end
|
53
53
|
|
54
54
|
def generate_req_key
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassiopeia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- smecsia
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-11-
|
18
|
+
date: 2010-11-12 00:00:00 +03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -40,12 +40,12 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
43
|
+
hash: 7
|
44
44
|
segments:
|
45
|
-
- 2
|
46
45
|
- 3
|
47
|
-
-
|
48
|
-
|
46
|
+
- 0
|
47
|
+
- 0
|
48
|
+
version: 3.0.0
|
49
49
|
type: :runtime
|
50
50
|
version_requirements: *id002
|
51
51
|
description:
|
@@ -57,20 +57,21 @@ extensions: []
|
|
57
57
|
extra_rdoc_files:
|
58
58
|
- README.rdoc
|
59
59
|
files:
|
60
|
-
- README.rdoc
|
61
60
|
- Rakefile
|
62
|
-
-
|
61
|
+
- README.rdoc
|
62
|
+
- lib/cassiopeia/action_controller_client_mixin.rb
|
63
|
+
- lib/cassiopeia/rack_restore_request.rb
|
64
|
+
- lib/cassiopeia/user.rb
|
65
|
+
- lib/cassiopeia/server.rb
|
66
|
+
- lib/cassiopeia/client.rb
|
63
67
|
- lib/cassiopeia/active_record_server_mixin.rb
|
64
|
-
- lib/cassiopeia/base_rack.rb
|
65
68
|
- lib/cassiopeia/action_controller_server_mixin.rb
|
69
|
+
- lib/cassiopeia/base_rack.rb
|
66
70
|
- lib/cassiopeia/config.rb
|
67
|
-
- lib/cassiopeia/server.rb
|
68
|
-
- lib/cassiopeia/user.rb
|
69
|
-
- lib/cassiopeia/rack_restore_request.rb
|
70
|
-
- lib/cassiopeia/client.rb
|
71
71
|
- lib/cassiopeia/tickets_controller_config.rb
|
72
|
-
- lib/cassiopeia/action_controller_client_mixin.rb
|
73
72
|
- lib/cassiopeia/base.rb
|
73
|
+
- lib/cassiopeia/railtie.rb
|
74
|
+
- lib/cassiopeia.rb
|
74
75
|
has_rdoc: true
|
75
76
|
homepage:
|
76
77
|
licenses: []
|