devise-doorkeeper 1.1.0 → 1.1.2.ci.45.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
- SHA1:
3
- metadata.gz: 4b64812bca11084c10439cfe6377381921d8d6b8
4
- data.tar.gz: 0b004f998bb7d52e3deaf239e9379f8bf422502f
2
+ SHA256:
3
+ metadata.gz: ae9fb3fb4f5678c2985f9dbd51d3b2ac0fa0285ee33ca77e1dbd2e451bc35b46
4
+ data.tar.gz: 5151e1c305427f6d8d71a225ee97e8c6abd191ac788ad4f3033e2ddd0a7e94a6
5
5
  SHA512:
6
- metadata.gz: c7530c5824b1d5f514eb0b925d824e19131a8d3835eb926e4947bd768c0f762e576d7e226d2dafe770ca910ac6a3eae0df402edf802ce8041a58374a8364bdd6
7
- data.tar.gz: 44401f062a0dcf5ee444648a93572a719569d8c1e3158c82909870a5bc8aab536cf1efcc29a391cd736ad9a6d5e170fcc5c2c2974b957f0e648345a490f50f68
6
+ metadata.gz: 9ee81784339ff60f99c51ffb208a908cd82898229770bf952e319b47166539fd8eb1371cd0ee220cc39074c0fe49fdc993869ec7d00ca7f644b99995ee793e31
7
+ data.tar.gz: a329c1864a964721e4898059e935f0ec03e79c238358b2efb5b41b29feca5916302a933a7b7b391245bdc1e98e6b106c5659d2676fe1c75b9187f21a6abbad1f
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.1.5
1
+ 2.5.8
data/.travis.yml CHANGED
@@ -1 +1,8 @@
1
1
  language: ruby
2
+ deploy:
3
+ provider: rubygems
4
+ api_key:
5
+ secure: fZeFXgr6w8I4/eLDVtiUd4dMI0h3ZcORssPPQGsbIc4Fybd7jeBMUIkY8lY6U3R2efktqMbgecwEgwmmjMQerFKH3Xw/BSu9XShl3xWlS3BTyCiyezAyB3KApPVOoam8AeHj5YnPkVTHQRvRyPUAptFaPrQTx5y4APsonONJciI=
6
+ gem: devise-doorkeeper
7
+ on:
8
+ repo: betterup/devise-doorkeeper
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 BetterUP, Inc.
1
+ Copyright (c) 2015 BetterUp, Inc.
2
2
 
3
3
  MIT License
4
4
 
@@ -6,8 +6,8 @@ require 'devise/doorkeeper/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'devise-doorkeeper'
8
8
  spec.version = Devise::Doorkeeper::VERSION
9
- spec.authors = ['Ryan Sonnek']
10
- spec.email = ['ryan@codecrate.com']
9
+ spec.authors = ['BetterUp']
10
+ spec.email = ['developers@betterup.co']
11
11
  spec.summary = %q{ Integrate Doorkeeper OAuth2 tokens into Devise applications }
12
12
  spec.description = %q{ Support authentication via OAuth2 tokens dispensed from the Doorkeeper authorization flow }
13
13
  spec.homepage = ''
@@ -18,18 +18,24 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'rails'
22
- spec.add_dependency 'devise'
23
- spec.add_dependency 'doorkeeper'
21
+ spec.add_dependency 'rails', '~> 5.0.0'
22
+ spec.add_dependency 'devise', '~> 4.2.0'
23
+ spec.add_dependency 'doorkeeper', '~> 4.1.0'
24
24
 
25
- spec.add_development_dependency 'bundler', '~> 1.7'
26
- spec.add_development_dependency 'rspec-rails'
27
- spec.add_development_dependency 'factory_girl_rails'
28
- spec.add_development_dependency 'factory_girl_rspec'
29
- spec.add_development_dependency 'faker'
30
- spec.add_development_dependency 'json_spec'
31
- spec.add_development_dependency 'sqlite3'
32
- spec.add_development_dependency 'coveralls'
33
- spec.add_development_dependency 'pry'
34
- spec.add_development_dependency 'rake', '~> 10.0'
25
+ spec.add_development_dependency 'bundler', '~> 1.17.3'
26
+ spec.add_development_dependency 'rspec-rails', '~> 3.5.1'
27
+ spec.add_development_dependency 'factory_girl_rails', '~> 4.7.0'
28
+ spec.add_development_dependency 'factory_girl_rspec', '~> 2.1.0'
29
+ spec.add_development_dependency 'faker', '~> 1.6.6'
30
+ spec.add_development_dependency 'json_spec', '~> 1.1.4'
31
+ spec.add_development_dependency 'sqlite3', '~> 1.3.11'
32
+ spec.add_development_dependency 'coveralls', '~> 0.8.15'
33
+ spec.add_development_dependency 'pry', '~> 0.10.4'
34
+ spec.add_development_dependency 'rake', '~> 11.2.2'
35
+ spec.add_development_dependency 'travis', '~> 1.8.2'
36
+
37
+ # configure gem version for continuous integration builds
38
+ if ENV['TRAVIS_JOB_NUMBER']
39
+ spec.version = "#{spec.version}.ci.#{ENV['TRAVIS_JOB_NUMBER']}"
40
+ end
35
41
  end
@@ -1,15 +1,15 @@
1
1
  require 'devise/doorkeeper/version'
2
2
  require 'devise/strategies/doorkeeper'
3
+ require 'devise/doorkeeper/doorkeeper_failure_app'
3
4
 
4
5
  module Devise
5
6
  module Doorkeeper
7
+ # configure devise to support doorkeeper error responses
6
8
  def self.configure_devise(config)
7
- config.warden do |manager|
8
- require 'devise/doorkeeper/doorkeeper_failure_app'
9
- manager.failure_app = Devise::Doorkeeper::DoorkeeperFailureApp
10
- end
9
+ Devise::FailureApp.prepend(Devise::Doorkeeper::DoorkeeperFailureApp)
11
10
  end
12
11
 
12
+ # configure doorkeeper to use devise authentication
13
13
  def self.configure_doorkeeper(base)
14
14
  base.instance_eval do
15
15
  resource_owner_authenticator do
@@ -1,11 +1,10 @@
1
- require 'devise/failure_app'
2
1
  require 'devise/strategies/doorkeeper'
3
2
 
4
3
  module Devise
5
4
  module Doorkeeper
6
- class DoorkeeperFailureApp < ::Devise::FailureApp
5
+ module DoorkeeperFailureApp
7
6
  def respond
8
- if warden_message == Devise::Strategies::Doorkeeper::WARDEN_INVALID_TOKEN_MESSAGE
7
+ if oauth_error?
9
8
  invalid_oauth_token
10
9
  else
11
10
  super
@@ -14,11 +13,15 @@ module Devise
14
13
 
15
14
  private
16
15
 
16
+ def oauth_error?
17
+ warden_message == Devise::Strategies::Doorkeeper::WARDEN_INVALID_TOKEN_MESSAGE
18
+ end
19
+
17
20
  def invalid_oauth_token
18
21
  error = ::Doorkeeper::OAuth::InvalidTokenResponse.new
19
22
  headers.merge! error.headers
20
23
  self.response_body = error.body.to_json
21
- self.status = error.status
24
+ self.status = error.status
22
25
  end
23
26
  end
24
27
  end
@@ -1,5 +1,5 @@
1
1
  module Devise
2
2
  module Doorkeeper
3
- VERSION = '1.1.0'
3
+ VERSION = '1.1.2'
4
4
  end
5
5
  end
@@ -16,6 +16,7 @@ module Devise
16
16
  def authenticate!
17
17
  resource = resource_from_token
18
18
  if validate(resource)
19
+ request.env['devise.skip_trackable'] = true
19
20
  success!(resource)
20
21
  else
21
22
  invalid_token
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../javascripts .js
3
+ //= link_directory ../stylesheets .css
@@ -0,0 +1,7 @@
1
+ class CustomFailureApp < Devise::FailureApp
2
+ # test that sublclassing FailureApp works properly
3
+ def respond
4
+ super
5
+ Rails.logger.info('Testing error flow')
6
+ end
7
+ end
@@ -244,6 +244,9 @@ Devise.setup do |config|
244
244
  # manager.intercept_401 = false
245
245
  # manager.default_strategies(scope: :user).unshift :some_external_strategy
246
246
  # end
247
+ config.warden do |manager|
248
+ manager.failure_app = CustomFailureApp
249
+ end
247
250
 
248
251
  # ==> Mountable engine configurations
249
252
  # When using Devise inside an engine, let's call it `MyEngine`, and this engine
@@ -11,12 +11,17 @@ RSpec.describe 'OAuth bearer token requests', type: :request do
11
11
  end
12
12
  let(:params) { {} }
13
13
  before do
14
+ @original_timestamp = User.find(access_token.resource_owner_id).last_sign_in_at
14
15
  get request_path, params, headers
15
16
  end
16
17
  it { expect(response.status).to eq 200 }
17
18
  it 'does not send Set-Cookie headers' do
18
19
  expect(response.headers).to_not include 'Set-Cookie'
19
20
  end
21
+ it 'does not update the user last_signin_at timestamp' do
22
+ new_timestamp = User.find(access_token.resource_owner_id).last_sign_in_at
23
+ expect(new_timestamp).to eq @original_timestamp
24
+ end
20
25
  end
21
26
  context 'with expired access token' do
22
27
  with :access_token, expires_in: 0
@@ -30,7 +35,8 @@ RSpec.describe 'OAuth bearer token requests', type: :request do
30
35
  get request_path, params, headers
31
36
  end
32
37
  it { expect(response.status).to eq 401 }
33
- it { expect(response.headers).to include('WWW-Authenticate' => 'Bearer realm="DeviseDoorkeeperApp", error="invalid_token", error_description="The access token is invalid"') }
38
+ it { expect(response.headers['WWW-Authenticate']).to eq 'Bearer realm="DeviseDoorkeeperApp", error="invalid_token", error_description="The access token is invalid"' }
39
+ it { expect(response.body).to eq '{"error":"invalid_token","error_description":"The access token is invalid","state":"unauthorized"}' }
34
40
  end
35
41
  context 'with revoked access token' do
36
42
  with :access_token, revoked_at: 1.year.ago
metadata CHANGED
@@ -1,201 +1,215 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-doorkeeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.2.ci.45.1
5
5
  platform: ruby
6
6
  authors:
7
- - Ryan Sonnek
7
+ - BetterUp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-26 00:00:00.000000000 Z
11
+ date: 2021-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 5.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: devise
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 4.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 4.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: doorkeeper
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 4.1.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 4.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.7'
61
+ version: 1.17.3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.7'
68
+ version: 1.17.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 3.5.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 3.5.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: factory_girl_rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 4.7.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 4.7.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: factory_girl_rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 2.1.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 2.1.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: faker
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 1.6.6
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 1.6.6
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: json_spec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: 1.1.4
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: 1.1.4
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: sqlite3
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: 1.3.11
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: 1.3.11
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: coveralls
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: 0.8.15
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '0'
166
+ version: 0.8.15
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: pry
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 0.10.4
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 0.10.4
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '10.0'
187
+ version: 11.2.2
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '10.0'
194
+ version: 11.2.2
195
+ - !ruby/object:Gem::Dependency
196
+ name: travis
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 1.8.2
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 1.8.2
195
209
  description: " Support authentication via OAuth2 tokens dispensed from the Doorkeeper
196
210
  authorization flow "
197
211
  email:
198
- - ryan@codecrate.com
212
+ - developers@betterup.co
199
213
  executables: []
200
214
  extensions: []
201
215
  extra_rdoc_files: []
@@ -215,6 +229,7 @@ files:
215
229
  - spec/dummy/.rspec
216
230
  - spec/dummy/README.rdoc
217
231
  - spec/dummy/Rakefile
232
+ - spec/dummy/app/assets/config/manifest.js
218
233
  - spec/dummy/app/assets/images/.keep
219
234
  - spec/dummy/app/assets/javascripts/application.js
220
235
  - spec/dummy/app/assets/stylesheets/application.css
@@ -227,6 +242,7 @@ files:
227
242
  - spec/dummy/app/models/.keep
228
243
  - spec/dummy/app/models/concerns/.keep
229
244
  - spec/dummy/app/models/user.rb
245
+ - spec/dummy/app/services/custom_failure_app.rb
230
246
  - spec/dummy/app/views/layouts/application.html.erb
231
247
  - spec/dummy/app/views/welcome/index.html.erb
232
248
  - spec/dummy/bin/bundle
@@ -291,12 +307,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
307
  version: '0'
292
308
  required_rubygems_version: !ruby/object:Gem::Requirement
293
309
  requirements:
294
- - - ">="
310
+ - - ">"
295
311
  - !ruby/object:Gem::Version
296
- version: '0'
312
+ version: 1.3.1
297
313
  requirements: []
298
- rubyforge_project:
299
- rubygems_version: 2.2.2
314
+ rubygems_version: 3.0.8
300
315
  signing_key:
301
316
  specification_version: 4
302
317
  summary: Integrate Doorkeeper OAuth2 tokens into Devise applications
@@ -304,6 +319,7 @@ test_files:
304
319
  - spec/dummy/.rspec
305
320
  - spec/dummy/README.rdoc
306
321
  - spec/dummy/Rakefile
322
+ - spec/dummy/app/assets/config/manifest.js
307
323
  - spec/dummy/app/assets/images/.keep
308
324
  - spec/dummy/app/assets/javascripts/application.js
309
325
  - spec/dummy/app/assets/stylesheets/application.css
@@ -316,6 +332,7 @@ test_files:
316
332
  - spec/dummy/app/models/.keep
317
333
  - spec/dummy/app/models/concerns/.keep
318
334
  - spec/dummy/app/models/user.rb
335
+ - spec/dummy/app/services/custom_failure_app.rb
319
336
  - spec/dummy/app/views/layouts/application.html.erb
320
337
  - spec/dummy/app/views/welcome/index.html.erb
321
338
  - spec/dummy/bin/bundle