descope 1.0.7 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b839423c554d63097d253ea7a62954d531d9a3b1b262dad0e82c22b52afa7b6f
4
- data.tar.gz: '008848b04a02f4e47c138ebb4bfa46a4a8e5b1a796c21acf0d627ca28abe2071'
3
+ metadata.gz: beb56da5c28d3ae76435ec8ffd7641e39b08f89bc67a7f166f1f8278f191186a
4
+ data.tar.gz: e3abb55707b28c5678e09d0b0fcdfb9449b38b32b0d3f28d032ada03cd226acf
5
5
  SHA512:
6
- metadata.gz: 1f3f9a015891fc9aa23c16a9274ab8529965f833223316f5c40c89e2b704ee69c5af7f9ffafab9b104e88085826c459c1f5ae41ea8488a6cc797a55a95c85d25
7
- data.tar.gz: 4abc42cc41567a3c0a4079112dab7b3b9786e19f7c39f03447528cdfe44d7722404a55f4cb24e95d028ebbf4cb5860576577f82d1d4a3aa8935d0a06f5cb1329
6
+ metadata.gz: fac54ea06b4b828bfc89a342c7acc0bb5ad50b0fea589d0d9860ef69923dc60919fcad3684f3317a51dfdcdc2e46392e0144d21f4f02440964f7155f8a5424fe
7
+ data.tar.gz: 62a41f8f2c5e4df22fbe259bc657608c66e86b9994fd803a4ba1ba7c4075cc376ceef49237256cb18acbb8915163bdf6bef03b66223318509c2fd30970abe2e1
@@ -1,4 +1,6 @@
1
1
  name: CI
2
+ permissions:
3
+ contents: read
2
4
 
3
5
  on:
4
6
  push:
@@ -17,26 +19,63 @@ env:
17
19
  DESCOPE_LOG_LEVEL: ${{ github.event.inputs.DESCOPE_LOG_LEVEL || 'info' }}
18
20
 
19
21
  jobs:
20
- ci:
21
- name: Descope Ruby SDK CI
22
+ unit-tests:
23
+ name: Unit Tests
22
24
  runs-on: ubuntu-latest
25
+ permissions:
26
+ contents: read
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ # Run unit tests in parallel across 4 workers
31
+ # NOTE: ci_node_total and ci_node_index must be kept in sync
32
+ ci_node_total: [4]
33
+ ci_node_index: [0, 1, 2, 3]
23
34
  steps:
24
35
  - name: Checkout Code
25
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
36
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
26
37
 
27
- - uses: ruby/setup-ruby@2a7b30092b0caf9c046252510f9273b4875f3db9 # v1.254.0
38
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
28
39
  with:
29
- # We are not letting this step to run bundle install, we will do it later
30
- bundler-cache: false
40
+ bundler-cache: true # Cache bundle based on Gemfile.lock
31
41
 
32
- - name: Install dependencies
33
- run: bundle install
42
+ - name: Run RSpec Unit Tests (Parallel)
43
+ run: bundle exec parallel_rspec spec/lib.descope -n ${{ matrix.ci_node_total }} --only-group ${{ matrix.ci_node_index }}
34
44
 
35
- - name: Run RSpec Test
36
- run: bundle exec rspec spec/lib.descope
45
+ integration-tests:
46
+ name: Integration Tests
47
+ runs-on: ubuntu-latest
48
+ permissions:
49
+ contents: read
50
+ steps:
51
+ - name: Checkout Code
52
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
53
+
54
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
55
+ with:
56
+ bundler-cache: true # Cache bundle based on Gemfile.lock
57
+
58
+ - name: Run Auth Integration Tests
59
+ env:
60
+ DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
61
+ DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
62
+ run: bundle exec rspec spec/integration/lib.descope/api/v1/auth
37
63
 
38
- - name: Run RSpec Integration Tests
64
+ - name: Run Management Integration Tests (excluding global state tests)
39
65
  env:
40
66
  DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
41
67
  DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
42
- run: bundle exec rspec spec/integration
68
+ run: |
69
+ bundle exec rspec spec/integration/lib.descope/api/v1/management \
70
+ --exclude-pattern "spec/integration/lib.descope/api/v1/management/project_spec.rb" \
71
+ --exclude-pattern "spec/integration/lib.descope/api/v1/management/authz_spec.rb"
72
+
73
+ - name: Run Global State Integration Tests (project & authz)
74
+ env:
75
+ DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
76
+ DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
77
+ AUTHZ_FULL_TEST: "true"
78
+ run: |
79
+ bundle exec rspec spec/integration/lib.descope/api/v1/management/project_spec.rb \
80
+ spec/integration/lib.descope/api/v1/management/authz_spec.rb
81
+
@@ -10,12 +10,12 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
12
  - name: Checkout Code
13
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
13
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
14
14
  with:
15
15
  ref: main
16
16
  fetch-depth: 0
17
17
 
18
- - uses: ruby/setup-ruby@2a7b30092b0caf9c046252510f9273b4875f3db9 # v1.254.0
18
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
19
19
  with:
20
20
  # We are not letting this step to run bundle install, we will do it later
21
21
  bundler-cache: false
@@ -23,38 +23,11 @@ jobs:
23
23
  - name: Install dependencies
24
24
  run: bundle install
25
25
 
26
- - name: Get token
27
- id: get_token
28
- uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
29
- with:
30
- private_key: ${{ secrets.RELEASE_APP_PEM }}
31
- app_id: ${{ secrets.RELEASE_APP_ID }}
32
-
33
- - name: Bump version
34
- run: |
35
- NEW_VERSION=$(echo ${{ github.event.release.tag_name }} | sed 's/^v//') # strip the 'v' from the tag if present
36
- sed -i "s/^ VERSION = '.*'/ VERSION = '${NEW_VERSION}'/g" lib/descope/version.rb
37
- echo -e "Updated version file:\n $(cat lib/descope/version.rb)"
38
-
39
- - name: Commit changes
26
+ - name: Verify version
40
27
  run: |
41
- git config --global user.name 'github-actions'
42
- git config --global user.email 'github-actions@github.com'
43
- git checkout main
44
- git add ./lib/descope/version.rb
45
- git commit -m "Bump version to $NEW_VERSION"
46
- git push origin main
47
- env:
48
- GITHUB_TOKEN: ${{ steps.get_token.outputs.token }}
49
-
50
- - name: Repoint the tag to latest commit
51
- run: |
52
- git tag -d ${{ github.event.release.tag_name }}
53
- git tag ${{ github.event.release.tag_name }} -m "Release $NEW_VERSION"
54
- git push origin :${{ github.event.release.tag_name }}
55
- git push
56
- env:
57
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28
+ echo "Version file contents:"
29
+ cat lib/descope/version.rb
30
+ echo "Release tag: ${{ github.event.release.tag_name }}"
58
31
 
59
32
  - name: Publish to RubyGems
60
33
  run: |
@@ -0,0 +1,36 @@
1
+ name: Release Please
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ release-please:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Get token
16
+ id: get_token
17
+ uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
18
+ with:
19
+ private_key: ${{ secrets.RELEASE_APP_PEM }}
20
+ app_id: ${{ secrets.RELEASE_APP_ID }}
21
+
22
+ - uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
23
+ id: release
24
+ with:
25
+ # The release-please-config.json and .release-please-manifest.json files
26
+ # are automatically detected in the root of the repository
27
+ token: ${{ steps.get_token.outputs.token }}
28
+
29
+ - name: Show outputs
30
+ if: ${{ steps.release.outputs.release_created }}
31
+ run: |
32
+ echo "Release created: ${{ steps.release.outputs.release_created }}"
33
+ echo "Tag name: ${{ steps.release.outputs.tag_name }}"
34
+ echo "Major: ${{ steps.release.outputs.major }}"
35
+ echo "Minor: ${{ steps.release.outputs.minor }}"
36
+ echo "Patch: ${{ steps.release.outputs.patch }}"
data/.gitignore CHANGED
@@ -16,7 +16,7 @@ bin/*
16
16
  .history
17
17
  .vscode
18
18
  # Used by dotenv library to load environment variables.
19
- # .env
19
+ .env
20
20
 
21
21
  # Ignore Byebug command history file.
22
22
  .byebug_history
@@ -58,4 +58,5 @@ build-iPhoneSimulator/
58
58
  .rvmrc
59
59
 
60
60
  # Used by RuboCop. Remote config files pulled in from inherit_from directive.
61
- # .rubocop-https?--*
61
+ # .rubocop-https?--*
62
+ .secrets
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "1.0.4"
2
+ ".": "1.1.0"
3
3
  }
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.4.5
1
+ 3.4.7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Change Log
2
2
 
3
+ ## [1.1.0](https://github.com/descope/descope-ruby-sdk/compare/descope-v1.0.7...descope/v1.1.0) (2025-12-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * add release-please workflow for automated releases ([#157](https://github.com/descope/descope-ruby-sdk/issues/157)) ([5bbfb9b](https://github.com/descope/descope-ruby-sdk/commit/5bbfb9be77c753bd1c99060c92d3d1204ce6e803))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * examples/ruby-on-rails-api/descope/Gemfile to reduce vulnerabilities ([#122](https://github.com/descope/descope-ruby-sdk/issues/122)) ([85e77ea](https://github.com/descope/descope-ruby-sdk/commit/85e77ea9a511f208e4818e7231c50416b58f9437))
14
+ * examples/ruby-on-rails-api/descope/Gemfile to reduce vulnerabilities ([#124](https://github.com/descope/descope-ruby-sdk/issues/124)) ([7fcd9f5](https://github.com/descope/descope-ruby-sdk/commit/7fcd9f5ed9e1af7c3adceca403da5585f0768eb9))
15
+ * Parse Set-Cookie headers directly to handle custom domain cookies when RestClient filtering fails ([#150](https://github.com/descope/descope-ruby-sdk/issues/150)) ([bb94536](https://github.com/descope/descope-ruby-sdk/commit/bb945368b76199df3bfa0dbd635756cd28dc2709))
16
+ * resolve integration test failures ([#162](https://github.com/descope/descope-ruby-sdk/issues/162)) ([ea880ea](https://github.com/descope/descope-ruby-sdk/commit/ea880ea91860ef67b97083a8e23c1580df95205b))
17
+ * unparallel tests ([#165](https://github.com/descope/descope-ruby-sdk/issues/165)) ([9a08c74](https://github.com/descope/descope-ruby-sdk/commit/9a08c74a7b8e5e02dc3816aa14b61a533d1c5962))
18
+
19
+
20
+ ### Performance Improvements
21
+
22
+ * optimize test suite for parallel execution with 3-5x speedup ([#159](https://github.com/descope/descope-ruby-sdk/issues/159)) ([da42969](https://github.com/descope/descope-ruby-sdk/commit/da4296952c936d028d6655bf503fc6dca0e568bb))
23
+
3
24
  ## [1.0.4](https://github.com/descope/descope-ruby-sdk/compare/descope/v1.0.0...descope/v1.0.4) (2024-02-13)
4
25
 
5
26
 
data/Gemfile CHANGED
@@ -4,17 +4,18 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem 'rubocop', '1.79.0', require: false
8
- gem 'rubocop-rails', '2.32.0', require: false
7
+ gem 'rubocop', '1.81.7', require: false
8
+ gem 'rubocop-rails', '2.34.0', require: false
9
9
  end
10
10
 
11
11
  group :test do
12
- gem 'factory_bot', '6.5.4', require: false
12
+ gem 'factory_bot', '6.5.6', require: false
13
13
  gem 'faker', require: false
14
+ gem 'parallel_tests', require: false
14
15
  gem 'rack-test', '2.2.0', require: false
15
16
  gem 'rotp', '6.3.0', require: false
16
- gem 'rspec', '3.13.1', require: false
17
- gem 'selenium-webdriver', '4.34.0', require: false
17
+ gem 'rspec', '3.13.2', require: false
18
+ gem 'selenium-webdriver', '4.38.0', require: false
18
19
  gem 'simplecov', '0.22.0', require: false
19
- gem 'super_diff', '0.16.0', require: false
20
+ gem 'super_diff', '0.18.0', require: false
20
21
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- descope (1.0.6)
4
+ descope (1.1.0)
5
5
  addressable (~> 2.8)
6
6
  jwt (~> 2.7)
7
7
  rest-client (~> 2.1)
@@ -11,7 +11,7 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activesupport (7.2.2.1)
14
+ activesupport (7.2.3)
15
15
  base64
16
16
  benchmark (>= 0.3)
17
17
  bigdecimal
@@ -28,15 +28,15 @@ GEM
28
28
  ast (2.4.3)
29
29
  attr_extras (7.1.0)
30
30
  base64 (0.3.0)
31
- benchmark (0.4.1)
32
- bigdecimal (3.2.2)
31
+ benchmark (0.5.0)
32
+ bigdecimal (3.3.1)
33
33
  concurrent-ruby (1.3.5)
34
- connection_pool (2.5.3)
34
+ connection_pool (2.5.5)
35
35
  diff-lcs (1.6.2)
36
36
  docile (1.4.0)
37
37
  domain_name (0.6.20240107)
38
38
  drb (2.2.3)
39
- factory_bot (6.5.4)
39
+ factory_bot (6.5.6)
40
40
  activesupport (>= 6.1.0)
41
41
  faker (3.3.1)
42
42
  i18n (>= 1.8.11, < 2)
@@ -45,7 +45,7 @@ GEM
45
45
  domain_name (~> 0.5)
46
46
  i18n (1.14.7)
47
47
  concurrent-ruby (~> 1.0)
48
- json (2.13.2)
48
+ json (2.18.0)
49
49
  jwt (2.8.1)
50
50
  base64
51
51
  language_server-protocol (3.17.0.5)
@@ -54,45 +54,47 @@ GEM
54
54
  mime-types (3.5.2)
55
55
  mime-types-data (~> 3.2015)
56
56
  mime-types-data (3.2024.0305)
57
- minitest (5.25.5)
57
+ minitest (5.27.0)
58
58
  netrc (0.11.0)
59
59
  optimist (3.2.1)
60
60
  parallel (1.27.0)
61
- parser (3.3.9.0)
61
+ parallel_tests (5.5.0)
62
+ parallel
63
+ parser (3.3.10.0)
62
64
  ast (~> 2.4.1)
63
65
  racc
64
66
  patience_diff (1.2.0)
65
67
  optimist (~> 3.0)
66
- prism (1.4.0)
68
+ prism (1.6.0)
67
69
  public_suffix (5.0.5)
68
70
  racc (1.8.1)
69
- rack (3.1.16)
71
+ rack (3.2.4)
70
72
  rack-test (2.2.0)
71
73
  rack (>= 1.3)
72
74
  rainbow (3.1.1)
73
- regexp_parser (2.11.2)
75
+ regexp_parser (2.11.3)
74
76
  rest-client (2.1.0)
75
77
  http-accept (>= 1.7.0, < 2.0)
76
78
  http-cookie (>= 1.0.2, < 2.0)
77
79
  mime-types (>= 1.16, < 4.0)
78
80
  netrc (~> 0.8)
79
81
  retryable (3.0.5)
80
- rexml (3.4.1)
82
+ rexml (3.4.4)
81
83
  rotp (6.3.0)
82
- rspec (3.13.1)
84
+ rspec (3.13.2)
83
85
  rspec-core (~> 3.13.0)
84
86
  rspec-expectations (~> 3.13.0)
85
87
  rspec-mocks (~> 3.13.0)
86
- rspec-core (3.13.4)
88
+ rspec-core (3.13.6)
87
89
  rspec-support (~> 3.13.0)
88
90
  rspec-expectations (3.13.5)
89
91
  diff-lcs (>= 1.2.0, < 2.0)
90
92
  rspec-support (~> 3.13.0)
91
- rspec-mocks (3.13.5)
93
+ rspec-mocks (3.13.7)
92
94
  diff-lcs (>= 1.2.0, < 2.0)
93
95
  rspec-support (~> 3.13.0)
94
- rspec-support (3.13.4)
95
- rubocop (1.79.0)
96
+ rspec-support (3.13.6)
97
+ rubocop (1.81.7)
96
98
  json (~> 2.3)
97
99
  language_server-protocol (~> 3.17.0.2)
98
100
  lint_roller (~> 1.1.0)
@@ -100,14 +102,13 @@ GEM
100
102
  parser (>= 3.3.0.2)
101
103
  rainbow (>= 2.2.2, < 4.0)
102
104
  regexp_parser (>= 2.9.3, < 3.0)
103
- rubocop-ast (>= 1.46.0, < 2.0)
105
+ rubocop-ast (>= 1.47.1, < 2.0)
104
106
  ruby-progressbar (~> 1.7)
105
- tsort (>= 0.2.0)
106
107
  unicode-display_width (>= 2.4.0, < 4.0)
107
- rubocop-ast (1.46.0)
108
+ rubocop-ast (1.48.0)
108
109
  parser (>= 3.3.7.2)
109
110
  prism (~> 1.4)
110
- rubocop-rails (2.32.0)
111
+ rubocop-rails (2.34.0)
111
112
  activesupport (>= 4.2.0)
112
113
  lint_roller (~> 1.1)
113
114
  rack (>= 1.1)
@@ -116,11 +117,11 @@ GEM
116
117
  ruby-progressbar (1.13.0)
117
118
  rubyzip (2.4.1)
118
119
  securerandom (0.4.1)
119
- selenium-webdriver (4.34.0)
120
+ selenium-webdriver (4.38.0)
120
121
  base64 (~> 0.2)
121
122
  logger (~> 1.4)
122
123
  rexml (~> 3.2, >= 3.2.5)
123
- rubyzip (>= 1.2.2, < 3.0)
124
+ rubyzip (>= 1.2.2, < 4.0)
124
125
  websocket (~> 1.0)
125
126
  simplecov (0.22.0)
126
127
  docile (~> 1.1)
@@ -128,11 +129,10 @@ GEM
128
129
  simplecov_json_formatter (~> 0.1)
129
130
  simplecov-html (0.12.3)
130
131
  simplecov_json_formatter (0.1.4)
131
- super_diff (0.16.0)
132
+ super_diff (0.18.0)
132
133
  attr_extras (>= 6.2.4)
133
134
  diff-lcs
134
135
  patience_diff
135
- tsort (0.2.0)
136
136
  tzinfo (2.0.6)
137
137
  concurrent-ruby (~> 1.0)
138
138
  unicode-display_width (2.6.0)
@@ -147,16 +147,17 @@ PLATFORMS
147
147
 
148
148
  DEPENDENCIES
149
149
  descope!
150
- factory_bot (= 6.5.4)
150
+ factory_bot (= 6.5.6)
151
151
  faker
152
+ parallel_tests
152
153
  rack-test (= 2.2.0)
153
154
  rotp (= 6.3.0)
154
- rspec (= 3.13.1)
155
- rubocop (= 1.79.0)
156
- rubocop-rails (= 2.32.0)
157
- selenium-webdriver (= 4.34.0)
155
+ rspec (= 3.13.2)
156
+ rubocop (= 1.81.7)
157
+ rubocop-rails (= 2.34.0)
158
+ selenium-webdriver (= 4.38.0)
158
159
  simplecov (= 0.22.0)
159
- super_diff (= 0.16.0)
160
+ super_diff (= 0.18.0)
160
161
 
161
162
  BUNDLED WITH
162
163
  2.5.6
data/README.md CHANGED
@@ -37,6 +37,17 @@ Be aware that only the management key is truncated, and the JWT responses are pr
37
37
 
38
38
  Do not run with log level debug on Production!
39
39
 
40
+ ### Logging
41
+
42
+ You can customize logging behavior:
43
+
44
+ ```ruby
45
+ # Use your application's logger
46
+ descope_client = Descope::Client.new(
47
+ project_id: '<project_id>',
48
+ logger: Rails.logger # or any Logger-compatible object
49
+ )
50
+ ```
40
51
 
41
52
  ## Authentication Methods
42
53
  These sections show how to use the SDK to perform various authentication/authorization functions:
@@ -73,6 +73,7 @@
73
73
  "version": "10.0.4",
74
74
  "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz",
75
75
  "integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==",
76
+ "peer": true,
76
77
  "funding": {
77
78
  "type": "opencollective",
78
79
  "url": "https://opencollective.com/immer"
@@ -152,6 +153,7 @@
152
153
  "version": "10.0.4",
153
154
  "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz",
154
155
  "integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==",
156
+ "peer": true,
155
157
  "funding": {
156
158
  "type": "opencollective",
157
159
  "url": "https://opencollective.com/immer"
@@ -223,6 +225,7 @@
223
225
  "version": "10.0.4",
224
226
  "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz",
225
227
  "integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==",
228
+ "peer": true,
226
229
  "funding": {
227
230
  "type": "opencollective",
228
231
  "url": "https://opencollective.com/immer"
@@ -721,6 +724,7 @@
721
724
  "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
722
725
  "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
723
726
  "license": "MIT",
727
+ "peer": true,
724
728
  "funding": {
725
729
  "type": "opencollective",
726
730
  "url": "https://opencollective.com/popperjs"
@@ -736,6 +740,7 @@
736
740
  "version": "2.2.3",
737
741
  "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.3.tgz",
738
742
  "integrity": "sha512-76dll9EnJXg4EVcI5YNxZA/9hSAmZsFqzMmNRHvIlzw2WS/twfcVX3ysYrWGJMClwEmChQFC4yRq74tn6fdzRA==",
743
+ "peer": true,
739
744
  "dependencies": {
740
745
  "immer": "^10.0.3",
741
746
  "redux": "^5.0.1",
@@ -775,8 +780,7 @@
775
780
  "node_modules/@types/prop-types": {
776
781
  "version": "15.7.11",
777
782
  "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
778
- "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
779
- "peer": true
783
+ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng=="
780
784
  },
781
785
  "node_modules/@types/react": {
782
786
  "version": "18.2.48",
@@ -792,8 +796,7 @@
792
796
  "node_modules/@types/scheduler": {
793
797
  "version": "0.16.8",
794
798
  "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
795
- "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
796
- "peer": true
799
+ "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
797
800
  },
798
801
  "node_modules/abbrev": {
799
802
  "version": "1.1.1",
@@ -864,9 +867,9 @@
864
867
  "license": "MIT"
865
868
  },
866
869
  "node_modules/brace-expansion": {
867
- "version": "1.1.11",
868
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
869
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
870
+ "version": "1.1.12",
871
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
872
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
870
873
  "license": "MIT",
871
874
  "dependencies": {
872
875
  "balanced-match": "^1.0.0",
@@ -916,8 +919,7 @@
916
919
  "node_modules/csstype": {
917
920
  "version": "3.1.3",
918
921
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
919
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
920
- "peer": true
922
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
921
923
  },
922
924
  "node_modules/debug": {
923
925
  "version": "4.3.4",
@@ -1241,6 +1243,7 @@
1241
1243
  "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1242
1244
  "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1243
1245
  "license": "MIT",
1246
+ "peer": true,
1244
1247
  "dependencies": {
1245
1248
  "loose-envify": "^1.1.0"
1246
1249
  },
@@ -1253,6 +1256,7 @@
1253
1256
  "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1254
1257
  "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1255
1258
  "license": "MIT",
1259
+ "peer": true,
1256
1260
  "dependencies": {
1257
1261
  "loose-envify": "^1.1.0",
1258
1262
  "scheduler": "^0.23.0"
@@ -1306,12 +1310,14 @@
1306
1310
  "node_modules/redux": {
1307
1311
  "version": "5.0.1",
1308
1312
  "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
1309
- "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
1313
+ "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
1314
+ "peer": true
1310
1315
  },
1311
1316
  "node_modules/redux-thunk": {
1312
1317
  "version": "3.1.0",
1313
1318
  "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
1314
1319
  "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
1320
+ "peer": true,
1315
1321
  "peerDependencies": {
1316
1322
  "redux": "^5.0.0"
1317
1323
  }
@@ -331,9 +331,9 @@ bootstrap@^5.3.3:
331
331
  integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==
332
332
 
333
333
  brace-expansion@^1.1.7:
334
- version "1.1.11"
335
- resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
336
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
334
+ version "1.1.12"
335
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
336
+ integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
337
337
  dependencies:
338
338
  balanced-match "^1.0.0"
339
339
  concat-map "0.0.1"
@@ -63,9 +63,9 @@ module Descope
63
63
  # If no cookies found via RestClient, parse Set-Cookie headers directly
64
64
  # This handles custom domain cookies that RestClient filters out
65
65
  if extracted_cookies.empty? && headers.respond_to?(:[])
66
- set_cookie_headers = headers['set-cookie'] || headers['Set-Cookie'] || []
66
+ set_cookie_headers = headers[:set_cookie] || headers['set-cookie'] || headers['Set-Cookie'] || []
67
67
  set_cookie_headers = [set_cookie_headers] unless set_cookie_headers.is_a?(Array)
68
-
68
+
69
69
  set_cookie_headers.each do |cookie_header|
70
70
  next unless cookie_header.is_a?(String)
71
71
 
@@ -16,8 +16,10 @@ module Descope
16
16
  @headers['x-descope-project-id'] = @project_id
17
17
  @public_key = options[:public_key] || ENV['DESCOPE_PUBLIC_KEY']
18
18
  @mlock = Mutex.new
19
- log_level = options[:log_level] || ENV['DESCOPE_LOG_LEVEL'] || 'info'
20
- @logger ||= Descope::Mixins::Logging.logger_for(self.class.name, log_level, @project_id)
19
+ @logger = options[:logger] || begin
20
+ log_level = options[:log_level] || ENV['DESCOPE_LOG_LEVEL'] || 'info'
21
+ Descope::Mixins::Logging.logger_for(self.class.name, log_level, @project_id)
22
+ end
21
23
 
22
24
  @logger.debug("Initializing Descope API with project_id: #{@project_id} and base_uri: #{@base_uri}")
23
25
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  # Current version of gem
4
4
  module Descope
5
- VERSION = '1.0.7'
5
+ VERSION = '1.1.0'
6
6
  SDK_VERSION = '1.0.0'
7
7
  end