capcoauth 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4d01caf13b1d26c506dc0cb1024079306f7f1bbc
4
- data.tar.gz: eae8b93664bc2d3a92732cb041930bcdbdda2e8d
3
+ metadata.gz: 48878ea66857e9efa43a5a837d28db91d9ccc918
4
+ data.tar.gz: a8568a00c443097287e69768ec3bc040a785b1a2
5
5
  SHA512:
6
- metadata.gz: 17a98e7286027a3a03c957b0b1635db8924db933e8ed688efe176266ca77dab3378d6fb58df220d88a4882f9ffcc3c7966b33b5b1fb7a9216c0323547ae2a352
7
- data.tar.gz: 9c70e143373d22799b4fc1c8b27b2b6567bc5a472392a55a751ae1e88e6809836cf989c1bf7baa716d5c3fbee175a9e2d0e7af2994a7e4c8e5dba3e93904e9eb
6
+ metadata.gz: 0f41ff5dddad8bc139d69c0af461b771bd77f393032519aa74c4f30dd8370c343ee3026ebe83b2507f05f2e75ad716ae4d8c858aeb7cd5bcfd860c7a02c42bbb
7
+ data.tar.gz: d49ebd6f95a3711fe44d097872d9f999f3f7188ef0ead9641b48abda0466e1f0e4be779eed8526ac56c6e5bb1e8d03b80b252db37751a4e17c38c235380c768e
data/capcoauth.gemspec CHANGED
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ['lib']
18
18
 
19
19
  s.add_dependency 'railties', ['>= 4.2', '< 6.0']
20
+ s.add_dependency 'activesupport', '>= 3.0'
20
21
  s.add_dependency 'httparty', '~> 0.13'
21
22
 
22
23
  s.add_development_dependency 'rake', '~> 10.5'
@@ -1,3 +1,5 @@
1
+ require 'active_support/cache'
2
+
1
3
  module Capcoauth
2
4
  class MissingConfiguration < StandardError
3
5
  def initialize
@@ -75,6 +77,7 @@ module Capcoauth
75
77
  option :token_verify_ttl, default: 10
76
78
  option :capcoauth_url, default: 'https://capcoauth.capco.com'
77
79
  option :user_id_field, default: :capcoauth
80
+ option :cache_store, default: ::ActiveSupport::Cache::MemoryStore.new
78
81
  option :user_resolver, default: (lambda do |capcoauth_user_id|
79
82
  Capcoauth.configuration.logger.warn('[CapcOAuth] User resolver is not configured. Please specify a block in configuration to resolve the proper user')
80
83
  nil
@@ -1,26 +1,25 @@
1
1
  module Capcoauth
2
2
  module OAuth
3
3
  class TTLCache
4
- @@cache = {}
5
4
 
6
5
  def self.user_id_for(access_token)
7
- purge
8
- return @@cache[access_token][:user_id] if @@cache[access_token].present?
9
- nil
6
+ store.fetch(key_for(access_token))
10
7
  end
11
8
 
12
9
  def self.update(access_token, user_id)
13
- @@cache[access_token] = { last_checked: Time.zone.now, user_id: user_id }
10
+ store.write(key_for(access_token), user_id, expires_in: Capcoauth.configuration.token_verify_ttl)
14
11
  end
15
12
 
16
13
  def self.remove(access_token)
17
- @@cache.delete(access_token)
14
+ store.delete(key_for(access_token))
18
15
  end
19
16
 
20
- def self.purge
21
- @@cache.delete_if do |k, v|
22
- Time.zone.now > v[:last_checked] + Capcoauth.configuration.token_verify_ttl
23
- end
17
+ def self.key_for(access_token)
18
+ "capcoauth_token:#{access_token}"
19
+ end
20
+
21
+ def self.store
22
+ Capcoauth.configuration.cache_store
24
23
  end
25
24
  end
26
25
  end
@@ -1,3 +1,3 @@
1
1
  module Capcoauth
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capcoauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Robertson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-04 00:00:00.000000000 Z
11
+ date: 2016-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -30,6 +30,20 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '6.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: activesupport
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: httparty
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -125,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
139
  version: '0'
126
140
  requirements: []
127
141
  rubyforge_project:
128
- rubygems_version: 2.5.1
142
+ rubygems_version: 2.6.7
129
143
  signing_key:
130
144
  specification_version: 4
131
145
  summary: Integration with Capcoauth authentication service