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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67d25a8964b81d3bcd8b1bf94ae841d4c6f9889feb60e743e7fbf6666cccedcc
4
- data.tar.gz: b38f5b10f5fd805a7da1042b960dbc043d8d8155b8939afd864608c6e116e18a
3
+ metadata.gz: c5fa7d307b06ba38bd7e6470e518ef3b79b15ede1906357ef4da052d4fe6129a
4
+ data.tar.gz: b270fbc57d267228eefc280d5143bc4d068cdc3b5443d399f237306b0013a172
5
5
  SHA512:
6
- metadata.gz: a086fa2bf2e116cdbfdef974f037cc31fd308250b3fadb85dad4bdf7a7c9a4698045518854af33e9feae241867c0ce7ebebe054d1c02db206ab84db72c14b78e
7
- data.tar.gz: ecc6784b2b47249b619b8c9801fe34428f91f933035b7416e61f725b2be68d753dc3a8bdbdc54acb506ce4cdea4ac2100fa5cadf6b70ec5febf0f5885b4d79c8
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} #{config.prx_scope}".strip,
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
@@ -37,7 +37,7 @@ module PrxAuth
37
37
  end
38
38
 
39
39
  def fetch_accounts(ids)
40
- ids_param = ids.map(&:to_s).join(",")
40
+ ids_param = ids.join(",")
41
41
  path = "/api/v1/accounts?account_ids=#{ids_param}"
42
42
  url = "https://#{PrxAuth::Rails.configuration.id_host}#{path}"
43
43
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PrxAuth
4
4
  module Rails
5
- VERSION = "5.1.2"
5
+ VERSION = "5.2.0"
6
6
  end
7
7
  end
@@ -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
@@ -3,6 +3,7 @@ require "coveralls"
3
3
  Coveralls.wear!
4
4
 
5
5
  require "minitest/autorun"
6
+ require "minitest/mock"
6
7
  require "minitest/spec"
7
8
  require "minitest/pride"
8
9
  require "webmock/minitest"
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.1.2
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: 2025-07-22 00:00:00.000000000 Z
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: 3.6.2
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: []