oauth2 2.0.15 → 2.0.16

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: 340909e9eea17737a90fc8c0604368bb883d214940dca855b37d029553650a6a
4
- data.tar.gz: 9c2892b5a9c5a80bfcc71708144a66286c22a179a13dcc5e3acdc571bac89710
3
+ metadata.gz: da97472c8338b07cf3f6022363d67d76766eaf2a321de6371d3549580115a636
4
+ data.tar.gz: 9fd1a0061596425903a1e820b3db93ea80e1b60fce9a5e3f0fc7fdbf3b075631
5
5
  SHA512:
6
- metadata.gz: bef9daa3bfb90c12b8b13a2b812fc7791aaab6fe88ffdb87d93924d0908489bf7bbe36db47b1be7c6033cddb8c78b82766c4df6ae4871043c0a0fd96be9c1150
7
- data.tar.gz: 9fe20ddb2b737be25a8322f762f6f15a4894333c56b4a27c58328af885abbdf71723a305bb94b6aeda8d744640373d9ef6f2ab09dbb6a6100e2b653095c73ca4
6
+ metadata.gz: 36ee9469a338201a06e52ef7a6d3a7390bc6f72e4362a7a14e604e53550b35a3d2fe6f27f15ee66e6e6500a56da3963e009b005ba4ccf28db42ff98b0302f23b
7
+ data.tar.gz: ea6734018d8a32ce265a33f39d2151cb42dc8d2b76282e3788fdd4806dc719aa82c7052ffd5653e855e9a105004fa3cc6a7dc02fdf6265bd45cd12412b6cbbec
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -24,6 +24,31 @@ Please file a bug if you notice a violation of semantic versioning.
24
24
  ### Fixed
25
25
  ### Security
26
26
 
27
+ ## [2.0.16] - 2025-09-14
28
+ - TAG: [v2.0.16][2.0.16t]
29
+ - COVERAGE: 96.33% -- 394/409 lines in 14 files
30
+ - BRANCH COVERAGE: 86.49% -- 64/74 branches in 14 files
31
+ - 90.48% documented
32
+ ### Added
33
+ - [gh!680—][gh!680]E2E example using mock test server added in v2.0.11 by @pboling
34
+ - mock-oauth2-server upgraded to v2.3.0
35
+ - https://github.com/navikt/mock-oauth2-server
36
+ - `docker compose -f docker-compose-ssl.yml up -d --wait`
37
+ - `ruby examples/e2e.rb`
38
+ - `docker compose -f docker-compose-ssl.yml down`
39
+ - mock server readiness wait is 90s
40
+ - override via E2E_WAIT_TIMEOUT
41
+ - [gh!676][gh!676], [gh!679][gh!679] - Apache SkyWalking Eyes dependency license check by @pboling
42
+ ### Changed
43
+ - [gh!678][gh!678] - Many improvements to make CI more resilient (past/future proof) by @pboling
44
+ - [gh!681][gh!681] - Upgrade to kettle-dev v1.1.19
45
+ ### Security
46
+ [gh!676]: https://github.com/ruby-oauth/oauth2/pull/676
47
+ [gh!678]: https://github.com/ruby-oauth/oauth2/pull/678
48
+ [gh!679]: https://github.com/ruby-oauth/oauth2/pull/679
49
+ [gh!680]: https://github.com/ruby-oauth/oauth2/pull/680
50
+ [gh!681]: https://github.com/ruby-oauth/oauth2/pull/681
51
+
27
52
  ## [2.0.15] - 2025-09-08
28
53
  - TAG: [v2.0.15][2.0.15t]
29
54
  - COVERAGE: 100.00% -- 519/519 lines in 14 files
@@ -530,7 +555,9 @@ Please file a bug if you notice a violation of semantic versioning.
530
555
 
531
556
  [gemfiles/readme]: gemfiles/README.md
532
557
 
533
- [Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.15...HEAD
558
+ [Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.16...HEAD
559
+ [2.0.16]: https://github.com/ruby-oauth/oauth2/compare/v2.0.15...v2.0.16
560
+ [2.0.16t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.16
534
561
  [2.0.15]: https://github.com/ruby-oauth/oauth2/compare/v2.0.14...v2.0.15
535
562
  [2.0.15t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.15
536
563
  [2.0.14]: https://github.com/ruby-oauth/oauth2/compare/v2.0.13...v2.0.14
data/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  ⭐️ including OAuth 2.1 draft spec & OpenID Connect (OIDC)
13
13
 
14
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL]
14
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
15
15
 
16
16
  `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
17
17
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  `if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
21
21
 
22
- [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
22
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
23
23
 
24
24
  ## 🌻 Synopsis
25
25
 
@@ -28,7 +28,7 @@ OAuth 2.0 focuses on client developer simplicity while providing specific author
28
28
  desktop applications, mobile phones, and living room devices.
29
29
  This is a RubyGem for implementing OAuth 2.0 clients (not servers) in Ruby applications.
30
30
 
31
- ### Quick Example
31
+ ### Quick Examples
32
32
 
33
33
  <details>
34
34
  <summary>Convert the following `curl` command into a token request using this gem...</summary>
@@ -61,6 +61,61 @@ NOTE: `header` - The content type specified in the `curl` is already the default
61
61
 
62
62
  </details>
63
63
 
64
+ <details>
65
+ <summary>Complete E2E single file script against [navikt/mock-oauth2-server](https://github.com/navikt/mock-oauth2-server)</summary>
66
+
67
+ - E2E example using the mock test server added in v2.0.11
68
+
69
+ ```console
70
+ docker compose -f docker-compose-ssl.yml up -d --wait
71
+ ruby examples/e2e.rb
72
+ # If your machine is slow or Docker pulls are cold, increase the wait:
73
+ E2E_WAIT_TIMEOUT=120 ruby examples/e2e.rb
74
+ # The mock server serves HTTP on 8080; the example points to http://localhost:8080 by default.
75
+ ```
76
+
77
+ The output should be something like this:
78
+
79
+ ```console
80
+ ➜ ruby examples/e2e.rb
81
+ Access token (truncated): eyJraWQiOiJkZWZhdWx0...
82
+ userinfo status: 200
83
+ userinfo body: {"sub" => "demo-sub", "aud" => ["demo-aud"], "nbf" => 1757816758000, "iss" => "http://localhost:8080/default", "exp" => 1757820358000, "iat" => 1757816758000, "jti" => "d63b97a7-ebe5-4dea-93e6-d542caba6104"}
84
+ E2E complete
85
+ ```
86
+
87
+ Make sure to shut down the mock server when you are done:
88
+
89
+ ```console
90
+ docker compose -f docker-compose-ssl.yml down
91
+ ```
92
+
93
+ Troubleshooting: validate connectivity to the mock server
94
+
95
+ - Check container status and port mapping:
96
+ - docker compose -f docker-compose-ssl.yml ps
97
+ - From the host, try the discovery URL directly (this is what the example uses by default):
98
+ - curl -v http://localhost:8080/default/.well-known/openid-configuration
99
+ - If that fails immediately, also try: curl -v --connect-timeout 2 http://127.0.0.1:8080/default/.well-known/openid-configuration
100
+ - From inside the container (to distinguish container vs host networking):
101
+ - docker exec -it oauth2-mock-oauth2-server-1 curl -v http://127.0.0.1:8080/default/.well-known/openid-configuration
102
+ - Simple TCP probe from the host:
103
+ - nc -vz localhost 8080 # or: ruby -rsocket -e 'TCPSocket.new("localhost",8080).close; puts "tcp ok"'
104
+ - Inspect which host port 8080 is bound to (should be 8080):
105
+ - docker inspect -f '{{ (index (index .NetworkSettings.Ports "8080/tcp") 0).HostPort }}' oauth2-mock-oauth2-server-1
106
+ - Look at server logs for readiness/errors:
107
+ - docker logs -n 200 oauth2-mock-oauth2-server-1
108
+ - On Linux, ensure nothing else is bound to 8080 and that firewall/SELinux aren’t blocking:
109
+ - ss -ltnp | grep :8080
110
+
111
+ Notes
112
+ - Discovery URL pattern is: http://localhost:8080/<realm>/.well-known/openid-configuration, where <realm> defaults to "default".
113
+ - You can change these with env vars when running the example:
114
+ - E2E_ISSUER_BASE (default: http://localhost:8080)
115
+ - E2E_REALM (default: default)
116
+
117
+ </details>
118
+
64
119
  If it seems like you are in the wrong place, you might try one of these:
65
120
 
66
121
  * [OAuth 2.0 Spec][oauth2-spec]
@@ -73,19 +128,19 @@ If it seems like you are in the wrong place, you might try one of these:
73
128
 
74
129
  ## 💡 Info you can shake a stick at
75
130
 
76
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
77
- |-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
78
- | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
79
- | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] <br/> [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
80
- | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
81
- | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎13-cbs-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
82
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
83
- | Documentation | [![Discussion][⛳gg-discussions-img]][⛳gg-discussions] [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![Wiki][📜wiki-img]][📜wiki] |
84
- | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
85
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
86
- | Support | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
87
- | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
88
- | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
131
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
132
+ |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
133
+ | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
134
+ | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] <br/> [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
135
+ | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
136
+ | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
137
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
138
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
139
+ | Documentation | [![Discussion][⛳gg-discussions-img]][⛳gg-discussions] [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![Wiki][📜wiki-img]][📜wiki] |
140
+ | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
141
+ | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
142
+ | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
143
+ | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
89
144
 
90
145
  ### Compatibility
91
146
 
@@ -1406,7 +1461,9 @@ Thanks for RTFM. ☺️
1406
1461
  [🖇floss-funding.dev]: https://floss-funding.dev
1407
1462
  [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
1408
1463
  [✉️discord-invite]: https://discord.gg/3qme4XHNKN
1409
- [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
1464
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
1465
+ [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
1466
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
1410
1467
 
1411
1468
  [⛳gg-discussions]: https://groups.google.com/g/oauth-ruby
1412
1469
  [⛳gg-discussions-img]: https://img.shields.io/badge/google-group-0093D0.svg?style=for-the-badge&logo=google&logoColor=orange
@@ -1507,6 +1564,8 @@ Thanks for RTFM. ☺️
1507
1564
  [🚎13-🔒️-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/locked_deps.yml/badge.svg
1508
1565
  [🚎14-🔓️-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/unlocked_deps.yml
1509
1566
  [🚎14-🔓️-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/unlocked_deps.yml/badge.svg
1567
+ [🚎15-🪪-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/license-eye.yml
1568
+ [🚎15-🪪-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/license-eye.yml/badge.svg
1510
1569
  [💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
1511
1570
  [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
1512
1571
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -1556,13 +1615,15 @@ Thanks for RTFM. ☺️
1556
1615
  [📌gitmoji]:https://gitmoji.dev
1557
1616
  [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1558
1617
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1559
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.519-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1618
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.409-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1560
1619
  [🔐security]: SECURITY.md
1561
1620
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1562
1621
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
1563
1622
  [📄license]: LICENSE.txt
1564
1623
  [📄license-ref]: https://opensource.org/licenses/MIT
1565
1624
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
1625
+ [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
1626
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
1566
1627
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
1567
1628
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
1568
1629
  [🚎yard-current]: http://rubydoc.info/gems/oauth2
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OAuth2
4
4
  module Version
5
- VERSION = "2.0.15"
5
+ VERSION = "2.0.16"
6
6
  end
7
7
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.15
4
+ version: 2.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -187,26 +187,6 @@ dependencies:
187
187
  - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: 2.8.7
190
- - !ruby/object:Gem::Dependency
191
- name: backports
192
- requirement: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - "~>"
195
- - !ruby/object:Gem::Version
196
- version: '3.25'
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- version: 3.25.1
200
- type: :development
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - "~>"
205
- - !ruby/object:Gem::Version
206
- version: '3.25'
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- version: 3.25.1
210
190
  - !ruby/object:Gem::Dependency
211
191
  name: nkf
212
192
  requirement: !ruby/object:Gem::Requirement
@@ -411,6 +391,54 @@ dependencies:
411
391
  - - ">="
412
392
  - !ruby/object:Gem::Version
413
393
  version: 1.0.3
394
+ - !ruby/object:Gem::Dependency
395
+ name: backports
396
+ requirement: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - "~>"
399
+ - !ruby/object:Gem::Version
400
+ version: '3.25'
401
+ - - ">="
402
+ - !ruby/object:Gem::Version
403
+ version: 3.25.1
404
+ type: :development
405
+ prerelease: false
406
+ version_requirements: !ruby/object:Gem::Requirement
407
+ requirements:
408
+ - - "~>"
409
+ - !ruby/object:Gem::Version
410
+ version: '3.25'
411
+ - - ">="
412
+ - !ruby/object:Gem::Version
413
+ version: 3.25.1
414
+ - !ruby/object:Gem::Dependency
415
+ name: vcr
416
+ requirement: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '4'
421
+ type: :development
422
+ prerelease: false
423
+ version_requirements: !ruby/object:Gem::Requirement
424
+ requirements:
425
+ - - ">="
426
+ - !ruby/object:Gem::Version
427
+ version: '4'
428
+ - !ruby/object:Gem::Dependency
429
+ name: webmock
430
+ requirement: !ruby/object:Gem::Requirement
431
+ requirements:
432
+ - - ">="
433
+ - !ruby/object:Gem::Version
434
+ version: '3'
435
+ type: :development
436
+ prerelease: false
437
+ version_requirements: !ruby/object:Gem::Requirement
438
+ requirements:
439
+ - - ">="
440
+ - !ruby/object:Gem::Version
441
+ version: '3'
414
442
  description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
415
443
  including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
416
444
  email:
@@ -470,10 +498,10 @@ licenses:
470
498
  - MIT
471
499
  metadata:
472
500
  homepage_uri: https://oauth2.galtzo.com/
473
- source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.15
474
- changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.15/CHANGELOG.md
501
+ source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.16
502
+ changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.16/CHANGELOG.md
475
503
  bug_tracker_uri: https://github.com/ruby-oauth/oauth2/issues
476
- documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.15
504
+ documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.16
477
505
  mailing_list_uri: https://groups.google.com/g/oauth-ruby
478
506
  funding_uri: https://github.com/sponsors/pboling
479
507
  wiki_uri: https://gitlab.com/ruby-oauth/oauth2/-/wiki
@@ -482,11 +510,11 @@ metadata:
482
510
  rubygems_mfa_required: 'true'
483
511
  post_install_message: |2
484
512
 
485
- ---+++--- oauth2 v2.0.15 ---+++---
513
+ ---+++--- oauth2 v2.0.16 ---+++---
486
514
 
487
515
  (minor) ⚠️ BREAKING CHANGES ⚠️ when upgrading from < v2
488
516
  • Summary of breaking changes: https://gitlab.com/ruby-oauth/oauth2#what-is-new-for-v20
489
- • Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.15/CHANGELOG.md#2015-2025-09-08
517
+ • Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.16/CHANGELOG.md#2015-2025-09-08
490
518
 
491
519
  News:
492
520
  1. New documentation website, including for OAuth 2.1 and OIDC: https://oauth2.galtzo.com
@@ -529,7 +557,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
529
557
  - !ruby/object:Gem::Version
530
558
  version: '0'
531
559
  requirements: []
532
- rubygems_version: 3.7.1
560
+ rubygems_version: 3.7.2
533
561
  specification_version: 4
534
562
  summary: "\U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
535
563
  test_files: []
metadata.gz.sig CHANGED
Binary file