prx_auth-rails 5.1.1 → 5.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.
- checksums.yaml +4 -4
- data/app/controllers/prx_auth/rails/sessions_controller.rb +17 -8
- data/lib/prx_auth/rails/ext/controller/account_info.rb +1 -1
- data/lib/prx_auth/rails/token.rb +8 -0
- data/lib/prx_auth/rails/version.rb +1 -1
- data/prx_auth-rails.gemspec +2 -1
- data/test/prx_auth/rails/sessions_controller_test.rb +6 -1
- data/test/test_helper.rb +1 -0
- metadata +19 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c5fa7d307b06ba38bd7e6470e518ef3b79b15ede1906357ef4da052d4fe6129a
|
|
4
|
+
data.tar.gz: b270fbc57d267228eefc280d5143bc4d068cdc3b5443d399f237306b0013a172
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d59f7ae5461c443b57763c65799bda32a99bb9fb044dc1b8d1fdc174f6ed1ee9ddc3859c826a2472a5e73a953c27670802c155fb1be71bb2f4f326ce00ffb3f8
|
|
7
|
+
data.tar.gz: 03c30f8e133051bc12f3b32e3dd4573d2ed1c397c00cd00c66886d4d792225754788157c74e45809676e468f1ceeb03c3819a267cfd3e6ed804e73dd8ca7434b
|
|
@@ -17,15 +17,10 @@ module PrxAuth::Rails
|
|
|
17
17
|
client_id: config.prx_client_id,
|
|
18
18
|
nonce: fetch_nonce,
|
|
19
19
|
response_type: "id_token token",
|
|
20
|
-
scope: "#{DEFAULT_SCOPES} #{
|
|
20
|
+
scope: "#{DEFAULT_SCOPES} #{session_scopes}".strip,
|
|
21
|
+
account: session_wildcard,
|
|
21
22
|
prompt: "necessary"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if session[WILDCARD_SESSION_KEY]
|
|
25
|
-
id_auth_params[:account] = "*"
|
|
26
|
-
# TODO: what if they need more than _just_ read-private?
|
|
27
|
-
id_auth_params[:scope] = "#{DEFAULT_SCOPES} read-private" if session[WILDCARD_SESSION_KEY] == "readonly"
|
|
28
|
-
end
|
|
23
|
+
}.compact
|
|
29
24
|
|
|
30
25
|
url = "//" + config.id_host + "/authorize?" + id_auth_params.to_query
|
|
31
26
|
|
|
@@ -138,5 +133,19 @@ module PrxAuth::Rails
|
|
|
138
133
|
def id_host
|
|
139
134
|
PrxAuth::Rails.configuration.id_host
|
|
140
135
|
end
|
|
136
|
+
|
|
137
|
+
def session_scopes
|
|
138
|
+
if ["true", "1", ""].include?(session[WILDCARD_SESSION_KEY].to_s)
|
|
139
|
+
PrxAuth::Rails.configuration.prx_scope
|
|
140
|
+
elsif session[WILDCARD_SESSION_KEY] == "readonly"
|
|
141
|
+
"read-private"
|
|
142
|
+
else
|
|
143
|
+
session[WILDCARD_SESSION_KEY]
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def session_wildcard
|
|
148
|
+
"*" if session[WILDCARD_SESSION_KEY]
|
|
149
|
+
end
|
|
141
150
|
end
|
|
142
151
|
end
|
data/lib/prx_auth/rails/token.rb
CHANGED
|
@@ -29,6 +29,14 @@ class PrxAuth::Rails::Token
|
|
|
29
29
|
@token_data.user_id
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
def issued_at
|
|
33
|
+
@token_data.issued_at
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def expiration_time
|
|
37
|
+
@token_data.expiration_time
|
|
38
|
+
end
|
|
39
|
+
|
|
32
40
|
def authorized_account_ids(scope)
|
|
33
41
|
@token_data.authorized_account_ids(scope)
|
|
34
42
|
end
|
data/prx_auth-rails.gemspec
CHANGED
|
@@ -26,11 +26,12 @@ Gem::Specification.new do |spec|
|
|
|
26
26
|
spec.add_development_dependency "guard"
|
|
27
27
|
spec.add_development_dependency "guard-minitest"
|
|
28
28
|
spec.add_development_dependency "m", "~> 1.5"
|
|
29
|
+
spec.add_development_dependency "minitest-mock"
|
|
29
30
|
spec.add_development_dependency "rails", "~> 8.0.1"
|
|
30
31
|
spec.add_development_dependency "pry"
|
|
31
32
|
spec.add_development_dependency "sqlite3"
|
|
32
33
|
spec.add_development_dependency "webmock"
|
|
33
34
|
spec.add_development_dependency "standard"
|
|
34
35
|
|
|
35
|
-
spec.add_runtime_dependency "prx_auth", ">= 1.8.
|
|
36
|
+
spec.add_runtime_dependency "prx_auth", ">= 1.8.2"
|
|
36
37
|
end
|
|
@@ -45,8 +45,13 @@ module PrxAuth::Rails
|
|
|
45
45
|
session[@wildcard_key] = "true"
|
|
46
46
|
get :new
|
|
47
47
|
assert response.code == "302"
|
|
48
|
-
assert_includes response.location, "scope=openid"
|
|
48
|
+
assert_includes response.location, "scope=openid+apps+feeder%3A%2A"
|
|
49
49
|
assert_includes response.location, "account=%2A"
|
|
50
|
+
|
|
51
|
+
session[@wildcard_key] = "feeder:whatev"
|
|
52
|
+
get :new
|
|
53
|
+
assert response.code == "302"
|
|
54
|
+
assert_includes response.location, "scope=openid+apps+feeder%3Awhatev"
|
|
50
55
|
end
|
|
51
56
|
|
|
52
57
|
test "create should validate a token and set the session variable" do
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: prx_auth-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Rhoden
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: actionpack
|
|
@@ -107,6 +107,20 @@ dependencies:
|
|
|
107
107
|
- - "~>"
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
109
|
version: '1.5'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: minitest-mock
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
117
|
+
type: :development
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
110
124
|
- !ruby/object:Gem::Dependency
|
|
111
125
|
name: rails
|
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -183,14 +197,14 @@ dependencies:
|
|
|
183
197
|
requirements:
|
|
184
198
|
- - ">="
|
|
185
199
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: 1.8.
|
|
200
|
+
version: 1.8.2
|
|
187
201
|
type: :runtime
|
|
188
202
|
prerelease: false
|
|
189
203
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
204
|
requirements:
|
|
191
205
|
- - ">="
|
|
192
206
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: 1.8.
|
|
207
|
+
version: 1.8.2
|
|
194
208
|
description: Rails integration for next generation PRX Authorization system.
|
|
195
209
|
email:
|
|
196
210
|
- carhoden@gmail.com
|
|
@@ -305,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
305
319
|
- !ruby/object:Gem::Version
|
|
306
320
|
version: '0'
|
|
307
321
|
requirements: []
|
|
308
|
-
rubygems_version:
|
|
322
|
+
rubygems_version: 4.0.10
|
|
309
323
|
specification_version: 4
|
|
310
324
|
summary: Rails integration for next generation PRX Authorization system.
|
|
311
325
|
test_files: []
|