gds-sso 16.1.0 → 17.1.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.
- checksums.yaml +4 -4
- data/Rakefile +4 -20
- data/lib/gds-sso/bearer_token.rb +2 -2
- data/lib/gds-sso/version.rb +1 -1
- data/lib/gds-sso.rb +1 -1
- data/lib/omniauth/strategies/gds.rb +26 -0
- data/spec/fixtures/integration/authorize_api_users.sql +2 -2
- metadata +66 -83
- data/spec/internal/db/combustion_test.sqlite +0 -0
- data/spec/internal/log/test.log +0 -1520
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7f870087f36397c1031d6d643965cc1e23be8bdecf6406ac8b3e348013aea1b
|
4
|
+
data.tar.gz: bc3c98cbf8445456860239438bd879a467687a679458d9de6271e8e8ab6f76ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d50863d1fc36a26d174d39956c1c519d1a8da76bfbf0476702d51c9e1da390abe16a9596cc18a8f762e673376d7d87bf8a0a58af879e9149a5f29f7c54170523
|
7
|
+
data.tar.gz: 007121f42d7fc57174af25b0181f02bafa3b0503fc81255991cd38688ec8e9523f5bc9024b6c500b20847eb398454918f48113a5f1bce61c66366433060e648f
|
data/Rakefile
CHANGED
@@ -1,24 +1,8 @@
|
|
1
|
-
require "bundler/setup"
|
2
1
|
require "bundler/gem_tasks"
|
3
|
-
|
4
|
-
Bundler::GemHelper.install_tasks
|
5
|
-
|
6
2
|
require "rspec/core/rake_task"
|
7
|
-
|
8
|
-
RSpec::Core::RakeTask.new(:spec) do |task|
|
9
|
-
task.pattern = "spec/**/*_spec.rb"
|
10
|
-
end
|
11
|
-
|
12
|
-
namespace :spec do
|
13
|
-
desc "Run integration specs"
|
14
|
-
RSpec::Core::RakeTask.new(:integration) do |task|
|
15
|
-
task.pattern = "spec/integration/**/*_spec.rb"
|
16
|
-
end
|
17
|
-
end
|
3
|
+
require "rubocop/rake_task"
|
18
4
|
|
19
|
-
|
20
|
-
|
21
|
-
sh "bundle exec rubocop --format clang"
|
22
|
-
end
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
RuboCop::RakeTask.new
|
23
7
|
|
24
|
-
task default: %i[spec
|
8
|
+
task default: %i[rubocop spec]
|
data/lib/gds-sso/bearer_token.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require "
|
1
|
+
require "json"
|
2
2
|
require "oauth2"
|
3
3
|
require "gds-sso/version"
|
4
4
|
|
@@ -35,7 +35,7 @@ module GDS
|
|
35
35
|
# structure. Here we're addressing signon directly so
|
36
36
|
# we need to transform the response ourselves.
|
37
37
|
def self.omniauth_style_response(response_body)
|
38
|
-
input =
|
38
|
+
input = JSON.parse(response_body).fetch("user")
|
39
39
|
|
40
40
|
{
|
41
41
|
"uid" => input["uid"],
|
data/lib/gds-sso/version.rb
CHANGED
data/lib/gds-sso.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require "omniauth-oauth2"
|
2
|
+
require "json"
|
3
|
+
|
4
|
+
class OmniAuth::Strategies::Gds < OmniAuth::Strategies::OAuth2
|
5
|
+
uid { user["uid"] }
|
6
|
+
|
7
|
+
info do
|
8
|
+
{
|
9
|
+
name: user["name"],
|
10
|
+
email: user["email"],
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
extra do
|
15
|
+
{
|
16
|
+
user: user,
|
17
|
+
permissions: user["permissions"],
|
18
|
+
organisation_slug: user["organisation_slug"],
|
19
|
+
organisation_content_id: user["organisation_content_id"],
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
def user
|
24
|
+
@user ||= JSON.parse(access_token.get("/user.json?client_id=#{CGI.escape(options.client_id)}").body).fetch("user")
|
25
|
+
end
|
26
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
DELETE FROM `oauth_access_tokens`;
|
2
2
|
|
3
3
|
INSERT INTO oauth_access_tokens (resource_owner_id, application_id, token, refresh_token, expires_in, created_at)
|
4
|
-
VALUES (1, 1, 'caaeb53be5c7277fb0ef158181bfd1537b57f9e3b83eb795be3cd0af6e118b28', '1bc343797483954d7306d67e96687feccdfdaa8b23ed662ae23e2b03e6661d16',
|
4
|
+
VALUES (1, 1, 'caaeb53be5c7277fb0ef158181bfd1537b57f9e3b83eb795be3cd0af6e118b28', '1bc343797483954d7306d67e96687feccdfdaa8b23ed662ae23e2b03e6661d16', POW(2, 31)-1, '2012-06-27 13:57:47');
|
5
5
|
|
6
6
|
INSERT INTO oauth_access_tokens (resource_owner_id, application_id, token, refresh_token, expires_in, created_at)
|
7
|
-
VALUES (1, 2, '98c72f4da02fdc43398e029d05567542944d2a9b0df3c20b0accd8bd6c5dc728', 'e2da0489a58219fd4f542139909737627874ceacd2af23f5c268ccecb36e85af',
|
7
|
+
VALUES (1, 2, '98c72f4da02fdc43398e029d05567542944d2a9b0df3c20b0accd8bd6c5dc728', 'e2da0489a58219fd4f542139909737627874ceacd2af23f5c268ccecb36e85af', POW(2, 31)-1, '2014-07-14 09:06:14');
|
metadata
CHANGED
@@ -1,77 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-sso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 17.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: multi_json
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: oauth2
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - "~>"
|
32
18
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
19
|
+
version: '2.0'
|
34
20
|
type: :runtime
|
35
21
|
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
38
24
|
- - "~>"
|
39
25
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
26
|
+
version: '2.0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: omniauth
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - "
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.2'
|
48
|
-
- - "<"
|
31
|
+
- - "~>"
|
49
32
|
- !ruby/object:Gem::Version
|
50
|
-
version: '
|
33
|
+
version: '2.1'
|
51
34
|
type: :runtime
|
52
35
|
prerelease: false
|
53
36
|
version_requirements: !ruby/object:Gem::Requirement
|
54
37
|
requirements:
|
55
|
-
- - "
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '1.2'
|
58
|
-
- - "<"
|
38
|
+
- - "~>"
|
59
39
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
40
|
+
version: '2.1'
|
61
41
|
- !ruby/object:Gem::Dependency
|
62
|
-
name: omniauth-
|
42
|
+
name: omniauth-oauth2
|
63
43
|
requirement: !ruby/object:Gem::Requirement
|
64
44
|
requirements:
|
65
45
|
- - "~>"
|
66
46
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
47
|
+
version: '1.8'
|
68
48
|
type: :runtime
|
69
49
|
prerelease: false
|
70
50
|
version_requirements: !ruby/object:Gem::Requirement
|
71
51
|
requirements:
|
72
52
|
- - "~>"
|
73
53
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
54
|
+
version: '1.8'
|
75
55
|
- !ruby/object:Gem::Dependency
|
76
56
|
name: plek
|
77
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,14 +72,14 @@ dependencies:
|
|
92
72
|
requirements:
|
93
73
|
- - ">="
|
94
74
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
75
|
+
version: '6'
|
96
76
|
type: :runtime
|
97
77
|
prerelease: false
|
98
78
|
version_requirements: !ruby/object:Gem::Requirement
|
99
79
|
requirements:
|
100
80
|
- - ">="
|
101
81
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
82
|
+
version: '6'
|
103
83
|
- !ruby/object:Gem::Dependency
|
104
84
|
name: warden
|
105
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,114 +112,120 @@ dependencies:
|
|
132
112
|
name: capybara
|
133
113
|
requirement: !ruby/object:Gem::Requirement
|
134
114
|
requirements:
|
135
|
-
- - "
|
115
|
+
- - "~>"
|
136
116
|
- !ruby/object:Gem::Version
|
137
|
-
version: '
|
117
|
+
version: '3'
|
138
118
|
type: :development
|
139
119
|
prerelease: false
|
140
120
|
version_requirements: !ruby/object:Gem::Requirement
|
141
121
|
requirements:
|
142
|
-
- - "
|
122
|
+
- - "~>"
|
143
123
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
124
|
+
version: '3'
|
145
125
|
- !ruby/object:Gem::Dependency
|
146
126
|
name: capybara-mechanize
|
147
127
|
requirement: !ruby/object:Gem::Requirement
|
148
128
|
requirements:
|
149
|
-
- - "
|
129
|
+
- - "~>"
|
150
130
|
- !ruby/object:Gem::Version
|
151
131
|
version: '1'
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.12.1
|
152
135
|
type: :development
|
153
136
|
prerelease: false
|
154
137
|
version_requirements: !ruby/object:Gem::Requirement
|
155
138
|
requirements:
|
156
|
-
- - "
|
139
|
+
- - "~>"
|
157
140
|
- !ruby/object:Gem::Version
|
158
141
|
version: '1'
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 1.12.1
|
159
145
|
- !ruby/object:Gem::Dependency
|
160
146
|
name: combustion
|
161
147
|
requirement: !ruby/object:Gem::Requirement
|
162
148
|
requirements:
|
163
|
-
- - "
|
149
|
+
- - "~>"
|
164
150
|
- !ruby/object:Gem::Version
|
165
|
-
version: '
|
151
|
+
version: '1.3'
|
166
152
|
type: :development
|
167
153
|
prerelease: false
|
168
154
|
version_requirements: !ruby/object:Gem::Requirement
|
169
155
|
requirements:
|
170
|
-
- - "
|
156
|
+
- - "~>"
|
171
157
|
- !ruby/object:Gem::Version
|
172
|
-
version: '
|
158
|
+
version: '1.3'
|
173
159
|
- !ruby/object:Gem::Dependency
|
174
160
|
name: rake
|
175
161
|
requirement: !ruby/object:Gem::Requirement
|
176
162
|
requirements:
|
177
163
|
- - ">="
|
178
164
|
- !ruby/object:Gem::Version
|
179
|
-
version: '0
|
165
|
+
version: '0'
|
180
166
|
type: :development
|
181
167
|
prerelease: false
|
182
168
|
version_requirements: !ruby/object:Gem::Requirement
|
183
169
|
requirements:
|
184
170
|
- - ">="
|
185
171
|
- !ruby/object:Gem::Version
|
186
|
-
version: '0
|
172
|
+
version: '0'
|
187
173
|
- !ruby/object:Gem::Dependency
|
188
174
|
name: rspec-rails
|
189
175
|
requirement: !ruby/object:Gem::Requirement
|
190
176
|
requirements:
|
191
|
-
- - "
|
177
|
+
- - "~>"
|
192
178
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
179
|
+
version: '6'
|
194
180
|
type: :development
|
195
181
|
prerelease: false
|
196
182
|
version_requirements: !ruby/object:Gem::Requirement
|
197
183
|
requirements:
|
198
|
-
- - "
|
184
|
+
- - "~>"
|
199
185
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
186
|
+
version: '6'
|
201
187
|
- !ruby/object:Gem::Dependency
|
202
188
|
name: rubocop-govuk
|
203
189
|
requirement: !ruby/object:Gem::Requirement
|
204
190
|
requirements:
|
205
|
-
- -
|
191
|
+
- - '='
|
206
192
|
- !ruby/object:Gem::Version
|
207
|
-
version:
|
193
|
+
version: 4.8.0
|
208
194
|
type: :development
|
209
195
|
prerelease: false
|
210
196
|
version_requirements: !ruby/object:Gem::Requirement
|
211
197
|
requirements:
|
212
|
-
- -
|
198
|
+
- - '='
|
213
199
|
- !ruby/object:Gem::Version
|
214
|
-
version:
|
200
|
+
version: 4.8.0
|
215
201
|
- !ruby/object:Gem::Dependency
|
216
202
|
name: sqlite3
|
217
203
|
requirement: !ruby/object:Gem::Requirement
|
218
204
|
requirements:
|
219
205
|
- - "~>"
|
220
206
|
- !ruby/object:Gem::Version
|
221
|
-
version: '1.
|
207
|
+
version: '1.5'
|
222
208
|
type: :development
|
223
209
|
prerelease: false
|
224
210
|
version_requirements: !ruby/object:Gem::Requirement
|
225
211
|
requirements:
|
226
212
|
- - "~>"
|
227
213
|
- !ruby/object:Gem::Version
|
228
|
-
version: '1.
|
214
|
+
version: '1.5'
|
229
215
|
- !ruby/object:Gem::Dependency
|
230
216
|
name: timecop
|
231
217
|
requirement: !ruby/object:Gem::Requirement
|
232
218
|
requirements:
|
233
|
-
- - "
|
219
|
+
- - "~>"
|
234
220
|
- !ruby/object:Gem::Version
|
235
|
-
version: '0.
|
221
|
+
version: '0.9'
|
236
222
|
type: :development
|
237
223
|
prerelease: false
|
238
224
|
version_requirements: !ruby/object:Gem::Requirement
|
239
225
|
requirements:
|
240
|
-
- - "
|
226
|
+
- - "~>"
|
241
227
|
- !ruby/object:Gem::Version
|
242
|
-
version: '0.
|
228
|
+
version: '0.9'
|
243
229
|
description: Client for GDS' OAuth 2-based SSO
|
244
230
|
email:
|
245
231
|
- govuk-dev@digital.cabinet-office.gov.uk
|
@@ -269,6 +255,7 @@ files:
|
|
269
255
|
- lib/gds-sso/user.rb
|
270
256
|
- lib/gds-sso/version.rb
|
271
257
|
- lib/gds-sso/warden_config.rb
|
258
|
+
- lib/omniauth/strategies/gds.rb
|
272
259
|
- spec/controller/api_user_controller_spec.rb
|
273
260
|
- spec/controller/controller_methods_spec.rb
|
274
261
|
- spec/fixtures/integration/authorize_api_users.sql
|
@@ -281,9 +268,7 @@ files:
|
|
281
268
|
- spec/internal/config/initializers/gds-sso.rb
|
282
269
|
- spec/internal/config/routes.rb
|
283
270
|
- spec/internal/config/storage.yml
|
284
|
-
- spec/internal/db/combustion_test.sqlite
|
285
271
|
- spec/internal/db/schema.rb
|
286
|
-
- spec/internal/log/test.log
|
287
272
|
- spec/internal/public/favicon.ico
|
288
273
|
- spec/requests/end_to_end_spec.rb
|
289
274
|
- spec/spec_helper.rb
|
@@ -312,46 +297,44 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
312
297
|
requirements:
|
313
298
|
- - ">="
|
314
299
|
- !ruby/object:Gem::Version
|
315
|
-
version: '2.
|
300
|
+
version: '2.7'
|
316
301
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
317
302
|
requirements:
|
318
303
|
- - ">="
|
319
304
|
- !ruby/object:Gem::Version
|
320
305
|
version: '0'
|
321
306
|
requirements: []
|
322
|
-
rubygems_version: 3.
|
307
|
+
rubygems_version: 3.3.24
|
323
308
|
signing_key:
|
324
309
|
specification_version: 4
|
325
310
|
summary: Client for GDS' OAuth 2-based SSO
|
326
311
|
test_files:
|
312
|
+
- spec/spec_helper.rb
|
313
|
+
- spec/fixtures/integration/signon.sql
|
314
|
+
- spec/fixtures/integration/authorize_api_users.sql
|
327
315
|
- spec/requests/end_to_end_spec.rb
|
316
|
+
- spec/support/controller_spy.rb
|
317
|
+
- spec/support/timecop.rb
|
318
|
+
- spec/support/serializable_user.rb
|
319
|
+
- spec/support/test_user.rb
|
320
|
+
- spec/support/signon_integration_helpers.rb
|
321
|
+
- spec/support/backport_controller_test_params.rb
|
322
|
+
- spec/controller/api_user_controller_spec.rb
|
323
|
+
- spec/controller/controller_methods_spec.rb
|
324
|
+
- spec/internal/config/routes.rb
|
325
|
+
- spec/internal/config/database.yml
|
326
|
+
- spec/internal/config/initializers/gds-sso.rb
|
327
|
+
- spec/internal/config/storage.yml
|
328
328
|
- spec/internal/app/models/user.rb
|
329
329
|
- spec/internal/app/controllers/example_controller.rb
|
330
330
|
- spec/internal/app/controllers/application_controller.rb
|
331
331
|
- spec/internal/app/assets/config/manifest.js
|
332
|
-
- spec/internal/db/combustion_test.sqlite
|
333
332
|
- spec/internal/db/schema.rb
|
334
333
|
- spec/internal/public/favicon.ico
|
335
|
-
- spec/
|
336
|
-
- spec/internal/config/routes.rb
|
337
|
-
- spec/internal/config/storage.yml
|
338
|
-
- spec/internal/config/initializers/gds-sso.rb
|
339
|
-
- spec/internal/config/database.yml
|
340
|
-
- spec/fixtures/integration/authorize_api_users.sql
|
341
|
-
- spec/fixtures/integration/signon.sql
|
342
|
-
- spec/spec_helper.rb
|
343
|
-
- spec/controller/api_user_controller_spec.rb
|
344
|
-
- spec/controller/controller_methods_spec.rb
|
334
|
+
- spec/unit/mock_bearer_token_spec.rb
|
345
335
|
- spec/unit/bearer_token_spec.rb
|
346
336
|
- spec/unit/api_access_spec.rb
|
347
|
-
- spec/unit/
|
337
|
+
- spec/unit/user_spec.rb
|
348
338
|
- spec/unit/session_serialisation_spec.rb
|
339
|
+
- spec/unit/config_spec.rb
|
349
340
|
- spec/unit/railtie_spec.rb
|
350
|
-
- spec/unit/user_spec.rb
|
351
|
-
- spec/unit/mock_bearer_token_spec.rb
|
352
|
-
- spec/support/test_user.rb
|
353
|
-
- spec/support/controller_spy.rb
|
354
|
-
- spec/support/timecop.rb
|
355
|
-
- spec/support/serializable_user.rb
|
356
|
-
- spec/support/backport_controller_test_params.rb
|
357
|
-
- spec/support/signon_integration_helpers.rb
|
Binary file
|