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: []
         |