prx_auth-rails 5.1.2 → 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/version.rb +1 -1
- data/prx_auth-rails.gemspec +1 -0
- data/test/prx_auth/rails/sessions_controller_test.rb +6 -1
- data/test/test_helper.rb +1 -0
- metadata +17 -3
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/prx_auth-rails.gemspec
CHANGED
|
@@ -26,6 +26,7 @@ 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"
|
|
@@ -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
|
|
@@ -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: []
|