shutl_auth 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,7 +13,10 @@ module Shutl
13
13
  c = client
14
14
 
15
15
  Shutl::NetworkRetry.retry "Authentication Service Error" do
16
- handling_exceptions { c.access_token! }
16
+ handling_exceptions do
17
+ Shutl::Auth.logger.debug "executing Rack::OAuth2::Client request"
18
+ c.access_token!
19
+ end
17
20
  end
18
21
  end
19
22
 
@@ -22,6 +25,7 @@ module Shutl
22
25
  def handling_exceptions
23
26
  yield
24
27
  rescue Rack::OAuth2::Client::Error => e
28
+ Shutl::Auth.logger.error "Rack::OAuth2::Client::Error: #{e.message}"
25
29
  case e.message
26
30
  when /The client identifier provided is invalid, the client failed to authenticate, the client did not include its credentials, provided multiple client credentials, or used unsupported credentials type\./
27
31
  raise_invalid_credentials
@@ -18,24 +18,38 @@ module Shutl
18
18
  end
19
19
 
20
20
  def request_access_token
21
- return session[:access_token] if session[:access_token]
21
+ Shutl::Auth.logger.debug "request_access_token: in session? #{!!session[:access_token]}"
22
+ return read_token if read_token
22
23
 
24
+ Shutl::Auth.logger.debug "requesting new access token"
23
25
  Shutl::Auth.access_token!
24
26
  end
25
27
 
26
28
  def access_token
27
- session[:access_token] ||= request_access_token
29
+ return read_token if read_token
30
+ set_token request_access_token
28
31
  end
29
32
 
30
33
  def authenticated_request &blk
31
34
  begin
32
35
  yield
33
36
  rescue Shutl::UnauthorizedAccess => e
34
- session[:access_token] = nil
37
+ Shutl::Auth.logger.debug "Shutl::UnauthorizedAccess - resetting access token"
38
+ set_token nil
35
39
  access_token
36
40
  yield
37
41
  end
38
42
  end
43
+
44
+ def read_token
45
+ Shutl::Auth.logger.debug "access token #{session[:access_token]}"
46
+ session[:access_token]
47
+ end
48
+
49
+ def set_token(token)
50
+ Shutl::Auth.logger.debug "setting access token #{token}"
51
+ session[:access_token] = token
52
+ end
39
53
  end
40
54
  end
41
55
  end
@@ -1,5 +1,5 @@
1
1
  module Shutl
2
2
  module Auth
3
- VERSION = "0.8.1"
3
+ VERSION = "0.8.2"
4
4
  end
5
5
  end
data/lib/shutl_auth.rb CHANGED
@@ -6,6 +6,8 @@ require "shutl/auth/version"
6
6
  require "shutl/auth/access_token_request"
7
7
  require "shutl/auth/authenticated_request"
8
8
 
9
+ require 'logger'
10
+
9
11
  module Shutl
10
12
  module Auth
11
13
  extend self
@@ -15,5 +17,11 @@ module Shutl
15
17
  def config
16
18
  yield self
17
19
  end
20
+
21
+ def logger
22
+ return ::Rails.logger if Kernel.const_defined?(:Rails)
23
+ return ::Shutl.logger if Shutl.respond_to? :logger
24
+ Logger.new('/dev/null')
25
+ end
18
26
  end
19
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shutl_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-05 00:00:00.000000000 Z
12
+ date: 2013-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: retriable
@@ -154,6 +154,10 @@ files:
154
154
  - LICENSE.txt
155
155
  - README.md
156
156
  - Rakefile
157
+ - config/license_finder.yml
158
+ - doc/dependencies.csv
159
+ - doc/dependencies.db
160
+ - doc/dependencies.html
157
161
  - lib/shutl/auth/access_token_request.rb
158
162
  - lib/shutl/auth/authenticated_request.rb
159
163
  - lib/shutl/auth/version.rb
@@ -178,12 +182,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
182
  - - ! '>='
179
183
  - !ruby/object:Gem::Version
180
184
  version: '0'
185
+ segments:
186
+ - 0
187
+ hash: 1364072325301481292
181
188
  required_rubygems_version: !ruby/object:Gem::Requirement
182
189
  none: false
183
190
  requirements:
184
191
  - - ! '>='
185
192
  - !ruby/object:Gem::Version
186
193
  version: '0'
194
+ segments:
195
+ - 0
196
+ hash: 1364072325301481292
187
197
  requirements: []
188
198
  rubyforge_project:
189
199
  rubygems_version: 1.8.23