oauth2 2.0.25 → 2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +139 -3
- data/README.md +64 -83
- data/lib/oauth2/access_token.rb +7 -2
- data/lib/oauth2/client.rb +42 -12
- data/lib/oauth2/sanitized_log_formatter.rb +198 -0
- data/lib/oauth2/version.rb +4 -1
- data/lib/oauth2.rb +11 -1
- data/sig/oauth2.rbs +206 -0
- data.tar.gz.sig +0 -0
- metadata +40 -61
- metadata.gz.sig +0 -0
- data/CITATION.cff +0 -20
- data/CODE_OF_CONDUCT.md +0 -134
- data/CONTRIBUTING.md +0 -275
- data/FUNDING.md +0 -70
- data/MIT.md +0 -21
- data/RUBOCOP.md +0 -71
- data/SECURITY.md +0 -21
- data/certs/pboling.pem +0 -27
- data/sig/oauth2/access_token.rbs +0 -25
- data/sig/oauth2/authenticator.rbs +0 -22
- data/sig/oauth2/client.rbs +0 -52
- data/sig/oauth2/error.rbs +0 -8
- data/sig/oauth2/filtered_attributes.rbs +0 -11
- data/sig/oauth2/response.rbs +0 -18
- data/sig/oauth2/sanitized_logger.rbs +0 -32
- data/sig/oauth2/strategy.rbs +0 -34
- data/sig/oauth2/thing_filter.rbs +0 -10
- data/sig/oauth2/version.rbs +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c9c55fc9440e00e86933108643637ca90a94eee13cb15c681f410d32184338b
|
|
4
|
+
data.tar.gz: 83f047fee37e950e07b1818bf0e427c22d39dc5ec27a4e2d70e4df8ddbcab6af
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 399c3d96bb47d79e0bcb57c2213226680721adf659280a87848f2424c2c8ed3a04865aeae2d73ec88a4fd768f0699b0e226d0530d0c652257a172e9a2c66b91b
|
|
7
|
+
data.tar.gz: 123aa2d9c1bc3e559d7c4068e157e1aa40e07e94f861786071b0ca0e17f732c07e7391f3e2fb2db63582fa75718897b36b8b64db95626d2e04976bff68853c1e
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,138 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.1.0] - 2026-10-25
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.1.0][2.1.0t]
|
|
36
|
+
- COVERAGE: 98.48% -- 649/659 lines in 16 files
|
|
37
|
+
- BRANCH COVERAGE: 93.53% -- 217/232 branches in 16 files
|
|
38
|
+
- 90.83% documented
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- **BREAKING**: `allow_cross_origin_redirects` now defaults to `false`. Cross-origin redirects are blocked before credentials are replayed. Set `allow_cross_origin_redirects: true` explicitly to retain the previous behavior (deprecated).
|
|
43
|
+
|
|
44
|
+
### Security
|
|
45
|
+
|
|
46
|
+
- GHSA-cmh8-5q25-68v6 - OAUTH_DEBUG token-request secrets are redacted; see [gh!769][gh!769]. Reported by iamibi.
|
|
47
|
+
|
|
48
|
+
- [gh!769][gh!769] - Redact secrets in structured token-request debug bodies, expand the default filtered credential keys, and require `auth-sanitizer` >= 0.2.5 by @makssein
|
|
49
|
+
- [gh!775][gh!775] - Strip Authorization headers, request bodies, and query parameters from cross-origin redirects by @Huge
|
|
50
|
+
- [gh!776][gh!776] - Redact configured sensitive response options from tokenless access-token initialization errors by @Huge
|
|
51
|
+
|
|
52
|
+
[gh!769]: https://github.com/ruby-oauth/oauth2/pull/769
|
|
53
|
+
[gh!770]: https://github.com/ruby-oauth/oauth2/pull/770
|
|
54
|
+
[gh!775]: https://github.com/ruby-oauth/oauth2/pull/775
|
|
55
|
+
[gh!776]: https://github.com/ruby-oauth/oauth2/pull/776
|
|
56
|
+
|
|
57
|
+
## [2.0.26] - 2026-10-25
|
|
58
|
+
|
|
59
|
+
- TAG: [v2.0.26][2.0.26t]
|
|
60
|
+
- COVERAGE: 98.48% -- 647/657 lines in 16 files
|
|
61
|
+
- BRANCH COVERAGE: 93.48% -- 215/230 branches in 16 files
|
|
62
|
+
- 90.83% documented
|
|
63
|
+
|
|
64
|
+
### Security
|
|
65
|
+
|
|
66
|
+
- GHSA-cmh8-5q25-68v6 - OAUTH_DEBUG token-request secrets are redacted; see [gh!769][gh!769]. Reported by iamibi.
|
|
67
|
+
|
|
68
|
+
### Deprecated
|
|
69
|
+
|
|
70
|
+
- `allow_cross_origin_redirects: true` is deprecated. The default will change to `false` in the next minor release (2.1.0). Set it explicitly to retain the current behavior.
|
|
71
|
+
|
|
72
|
+
### Added
|
|
73
|
+
|
|
74
|
+
- kettle-jem-template-20260720-001 - READMEs can now display configured
|
|
75
|
+
corporate sponsor logos.
|
|
76
|
+
- kettle-jem-template-20260720-005 - README Support & Community links now
|
|
77
|
+
include RubyForum.
|
|
78
|
+
- kettle-jem-template-20260726-001 - Projects now include YARD lint
|
|
79
|
+
configuration and documentation dependencies so documentation issues fail
|
|
80
|
+
before generated docs are refreshed.
|
|
81
|
+
- kettle-jem-template-20260727-001 - Spec harness documentation now lists the
|
|
82
|
+
RSpec helpers provided by `kettle-test`.
|
|
83
|
+
- kettle-jem-template-20260913-001 - Templating now also surfaces a review
|
|
84
|
+
entry in `dependency_conflicts.resolve` when a direct development
|
|
85
|
+
dependency doesn't support one or more of this project's declared
|
|
86
|
+
`engines:` and has no template-managed modular home (e.g. `sqlite3` on
|
|
87
|
+
`jruby`). Review each entry and pick a resolution per the project's own
|
|
88
|
+
engine support needs.
|
|
89
|
+
|
|
90
|
+
- kettle-jem-template-20260729-005 - Gemspec metadata now publishes this
|
|
91
|
+
project's RubyForum tag as `mailing_list_uri`, and support docs link to the
|
|
92
|
+
tagged RubyForum community alongside Discord.
|
|
93
|
+
|
|
94
|
+
### Changed
|
|
95
|
+
|
|
96
|
+
- [kc] kettle-jem/prepare: updated 25 project files:
|
|
97
|
+
- configuration (1)
|
|
98
|
+
- dependencies (24)
|
|
99
|
+
|
|
100
|
+
- kettle-jem-template-20260716-002 - Gemspecs now ship fewer repository-only
|
|
101
|
+
files, reducing package noise for downstream packagers.
|
|
102
|
+
- kettle-jem-template-20260720-002 - Development Gemfiles now use the released
|
|
103
|
+
`tree_sitter_language_pack` gem 1.13.3 or newer by default.
|
|
104
|
+
- kettle-jem-template-20260725-002 - Version specs now use `anonymous_loader` to
|
|
105
|
+
cover `version.rb` without redefining constants, or are removed when version
|
|
106
|
+
specs are not managed for the project.
|
|
107
|
+
- kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer
|
|
108
|
+
setup-ruby-flash planning and can prepare appraisal-only jobs without
|
|
109
|
+
installing the main Gemfile bundle.
|
|
110
|
+
- kettle-jem-template-20260801-001 - Generated README gem dashboard links now
|
|
111
|
+
use ClickGems instead of BestGems.
|
|
112
|
+
|
|
113
|
+
- [kc] kettle-jem/template: updated 84 project files:
|
|
114
|
+
- code and tests (7)
|
|
115
|
+
- configuration (1)
|
|
116
|
+
- dependencies (20)
|
|
117
|
+
- documentation (2)
|
|
118
|
+
- other (20)
|
|
119
|
+
- workflows (34)
|
|
120
|
+
|
|
121
|
+
### Fixed
|
|
122
|
+
|
|
123
|
+
- `OAuth2::AccessToken` no longer raises `NoMethodError` when `expires_latency` is set but the token has no known expiry (no `expires_in`/`expires_at`, or `expires_in: 0`), e.g. `client.get_token(params, expires_latency: 30)` against a provider that omits `expires_in` by @iamibi
|
|
124
|
+
- [gh!770][gh!770] - Raise token response parse errors when using the deprecated `extract_access_token` option, rather than swallowing them by @dpep
|
|
125
|
+
|
|
126
|
+
- kettle-jem-template-20260720-003 - StructuredMerge Git diff driver config now
|
|
127
|
+
uses the installed `smorg-rb` driver command.
|
|
128
|
+
- kettle-jem-template-20260725-001 - Release pull request branches beginning
|
|
129
|
+
with `feature/release` now run JRuby and TruffleRuby workflows.
|
|
130
|
+
- kettle-jem-template-20260726-002 - Generated version files now document their
|
|
131
|
+
version namespace and constants, reducing warning-only YARD lint output.
|
|
132
|
+
- kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls,
|
|
133
|
+
QLTY, and Codecov as optional, so provider outages do not fail CI when local
|
|
134
|
+
coverage thresholds still pass.
|
|
135
|
+
- kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the
|
|
136
|
+
same `gemfiles/vendor/bundle` tree as `.gitignore`, so vendored dependency
|
|
137
|
+
installs are not reported as project lint debt.
|
|
138
|
+
- kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
|
|
139
|
+
TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures
|
|
140
|
+
before the test suite starts.
|
|
141
|
+
- kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the
|
|
142
|
+
setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv
|
|
143
|
+
lockfile parser failures on Git and path dependencies.
|
|
144
|
+
- kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the
|
|
145
|
+
missing canonical version spec when a project only has shim namespace version
|
|
146
|
+
specs.
|
|
147
|
+
- kettle-jem-template-20260729-001 - Generated JRuby 9.4 workflows now use the
|
|
148
|
+
legacy manual bundle install path, avoiding setup-time Bundler full-index
|
|
149
|
+
failures against `gem.coop`.
|
|
150
|
+
- kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
|
|
151
|
+
relative to the gemspec directory, so release package contents stay correct
|
|
152
|
+
even when the gemspec is loaded from another working directory.
|
|
153
|
+
- kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize
|
|
154
|
+
managed configuration block bindings structurally, preventing mixed block
|
|
155
|
+
parameter names from producing invalid configuration after a merge.
|
|
156
|
+
- kettle-jem-template-20260801-003 - Generated project metadata and
|
|
157
|
+
documentation now normalize configured underscore hostnames to valid
|
|
158
|
+
hyphenated hostnames.
|
|
159
|
+
- kettle-jem-template-20260801-004 - Generated organization README logos now
|
|
160
|
+
use GitHub's stable organization avatar endpoint instead of assuming a
|
|
161
|
+
matching Galtzo-hosted asset exists.
|
|
162
|
+
- kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC,
|
|
163
|
+
preserving comments and trailing commas during template updates.
|
|
164
|
+
|
|
33
165
|
## [2.0.25] - 2026-07-14
|
|
34
166
|
|
|
35
167
|
- TAG: [v2.0.25][2.0.25t]
|
|
@@ -89,9 +221,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
89
221
|
- Addressed Reek code-quality checks with targeted cleanup and documented compatibility exclusions by @pboling
|
|
90
222
|
- Fixed deprecation warning from MultiXML by @robzolkos
|
|
91
223
|
|
|
92
|
-
[gh!733]
|
|
224
|
+
- [gh!733][gh!733] - Fixed head appraisal dependency conflicts and Ruby 2.4 protocol-relative redirect handling by @pboling
|
|
93
225
|
|
|
94
|
-
|
|
226
|
+
[gh!733]: https://github.com/ruby-oauth/oauth2/pull/733
|
|
95
227
|
|
|
96
228
|
## [2.0.22] - 2026-06-07
|
|
97
229
|
|
|
@@ -930,7 +1062,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
930
1062
|
|
|
931
1063
|
[gemfiles/readme]: gemfiles/README.md
|
|
932
1064
|
|
|
933
|
-
[Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0
|
|
1065
|
+
[Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.1.0...HEAD
|
|
1066
|
+
[2.1.0]: https://github.com/ruby-oauth/oauth2/compare/v2.0.26...v2.1.0
|
|
1067
|
+
[2.1.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.1.0
|
|
1068
|
+
[2.0.26]: https://github.com/ruby-oauth/oauth2/compare/v2.0.25...v2.0.26
|
|
1069
|
+
[2.0.26t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.26
|
|
934
1070
|
[2.0.25]: https://github.com/ruby-oauth/oauth2/compare/v2.0.24...v2.0.25
|
|
935
1071
|
[2.0.25t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.25
|
|
936
1072
|
[2.0.24]: https://github.com/ruby-oauth/oauth2/compare/v2.0.23...v2.0.24
|
data/README.md
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
<a href="https://github.com/ruby-oauth"><img alt="ruby-oauth Logo by
|
|
1
|
+
<a href="https://github.com/ruby-oauth"><img alt="ruby-oauth Logo by GitHub" src="https://github.com/ruby-oauth.png?size=192" width="14%" align="right"/></a>
|
|
2
2
|
|
|
3
3
|
# 🔐 OAuth2
|
|
4
4
|
|
|
5
|
-
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![
|
|
5
|
+
[![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Total downloads][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![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 Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
|
|
6
6
|
|
|
7
|
-
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the
|
|
7
|
+
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
`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.
|
|
12
12
|
|
|
13
13
|
[![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 at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
14
|
+
<p><sub>Corporate sponsors: <a href="https://alpha-omega.dev"><img alt="Alpha-Omega" src="https://alpha-omega.dev/wp-content/uploads/sites/22/2023/05/logo.svg" height="24"/></a> <a href="https://serpapi.com"><img alt="SerpApi" src="https://serpapi.com/assets/media_kit/logo-with-wordmark.svg" height="24"/></a> <a href="#-floss-funding">Become a sponsor</a></sub></p>
|
|
14
15
|
|
|
15
16
|
<details markdown="1">
|
|
16
17
|
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
@@ -151,12 +152,12 @@ See also the [OAuth 2.0 Spec][oauth2-spec], the [OpenID Connect Spec][oidc-spec]
|
|
|
151
152
|
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
152
153
|
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
153
154
|
| Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
154
|
-
| Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.
|
|
155
|
+
| Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
|
|
155
156
|
| Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
|
|
156
157
|
| Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
|
|
157
158
|
| Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
|
|
158
|
-
| 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] |
|
|
159
|
-
| Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on
|
|
159
|
+
| Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![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] |
|
|
160
|
+
| 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] |
|
|
160
161
|
| Documentation | [![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] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
|
|
161
162
|
| Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄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] |
|
|
162
163
|
| 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] |
|
|
@@ -165,8 +166,9 @@ See also the [OAuth 2.0 Spec][oauth2-spec], the [OpenID Connect Spec][oidc-spec]
|
|
|
165
166
|
|
|
166
167
|
### Compatibility
|
|
167
168
|
|
|
168
|
-
Compatible with MRI Ruby 2.2.0+,
|
|
169
|
+
Compatible with MRI Ruby 2.2.0+, JRuby, and TruffleRuby.
|
|
169
170
|
CI workflows and Appraisals are generated for MRI Ruby 2.4+.
|
|
171
|
+
The current MRI CI lane runs on Linux and macOS.
|
|
170
172
|
This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
171
173
|
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
172
174
|
not practical for the current toolchain.
|
|
@@ -178,16 +180,16 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
178
180
|
<details markdown="1">
|
|
179
181
|
<summary>How kettle-dev manages complexity in tests</summary>
|
|
180
182
|
|
|
181
|
-
| Gem | Source | Role |
|
|
183
|
+
| Gem | Source | Role | Total downloads |
|
|
182
184
|
|-----|--------|------|---------------------|
|
|
183
|
-
| [appraisal2](https://
|
|
184
|
-
| [appraisal2-rubocop](https://
|
|
185
|
-
| [kettle-dev](https://
|
|
186
|
-
| [kettle-jem](https://
|
|
187
|
-
| [kettle-soup-cover](https://
|
|
188
|
-
| [kettle-test](https://
|
|
189
|
-
| [rubocop-lts](https://
|
|
190
|
-
| [turbo_tests2](https://
|
|
185
|
+
| [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [](https://clickgems.clickhouse.com/dashboard/appraisal2) |
|
|
186
|
+
| [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
|
|
187
|
+
| [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
|
|
188
|
+
| [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
|
|
189
|
+
| [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
|
|
190
|
+
| [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [](https://clickgems.clickhouse.com/dashboard/kettle-test) |
|
|
191
|
+
| [rubocop-lts](https://clickgems.clickhouse.com/dashboard/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [](https://clickgems.clickhouse.com/dashboard/rubocop-lts) |
|
|
192
|
+
| [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
|
|
191
193
|
|
|
192
194
|
</details>
|
|
193
195
|
|
|
@@ -196,39 +198,22 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
196
198
|
<details markdown="1">
|
|
197
199
|
<summary>Find this repo on federated forges (Coming soon!)</summary>
|
|
198
200
|
|
|
199
|
-
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
|
|
200
|
-
|
|
201
|
-
| 🧪 [ruby-oauth/oauth2 on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
|
|
202
|
-
| 🧊 [ruby-oauth/oauth2 on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
|
|
203
|
-
| 🐙 [ruby-oauth/oauth2 on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
|
|
204
|
-
| 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
|
|
201
|
+
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
|
|
202
|
+
|-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
|
|
203
|
+
| 🧪 [ruby-oauth/oauth2 on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
|
|
204
|
+
| 🧊 [ruby-oauth/oauth2 on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
|
|
205
|
+
| 🐙 [ruby-oauth/oauth2 on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
|
|
205
206
|
|
|
206
207
|
</details>
|
|
207
208
|
|
|
208
|
-
|
|
209
|
+
### Enterprise Support
|
|
209
210
|
|
|
210
|
-
|
|
211
|
+
For enterprise support from the maintainer, use [Upwork][👨🏼🏫expsup-upwork] or [CodeMentor][👨🏼🏫expsup-codementor].
|
|
211
212
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
<details markdown="1">
|
|
215
|
-
<summary>Need enterprise-level guarantees?</summary>
|
|
216
|
-
|
|
217
|
-
The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
|
|
218
|
-
|
|
219
|
-
[![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
|
|
220
|
-
|
|
221
|
-
- 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
|
|
222
|
-
- 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
|
|
223
|
-
- 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
|
|
224
|
-
|
|
225
|
-
Alternatively:
|
|
213
|
+
Other support channels:
|
|
226
214
|
|
|
215
|
+
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
227
216
|
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
228
|
-
- [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork]
|
|
229
|
-
- [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor]
|
|
230
|
-
|
|
231
|
-
</details>
|
|
232
217
|
|
|
233
218
|
## ✨ Installation
|
|
234
219
|
|
|
@@ -644,19 +629,21 @@ We welcome both individual and corporate sponsors! We also offer a
|
|
|
644
629
|
wide array of funding channels to account for your preferences.
|
|
645
630
|
Currently, [Open Collective][🖇osc] is our preferred funding platform.
|
|
646
631
|
|
|
632
|
+
### Corporate Sponsorship
|
|
633
|
+
|
|
634
|
+
- <a href="https://alpha-omega.dev"><img alt="Alpha-Omega" src="https://alpha-omega.dev/wp-content/uploads/sites/22/2023/05/logo.svg" height="32"/></a> [Alpha-Omega](https://alpha-omega.dev) — backed by [Amazon Web Services](https://aws.amazon.com), [Google](https://www.google.com), [Microsoft](https://www.microsoft.com), [Anthropic](https://www.anthropic.com), [OpenAI](https://openai.com), [Citi](https://www.citigroup.com), [GitHub](https://github.com)
|
|
635
|
+
- <a href="https://serpapi.com"><img alt="SerpApi" src="https://serpapi.com/assets/media_kit/logo-with-wordmark.svg" height="32"/></a> [SerpApi](https://serpapi.com)
|
|
636
|
+
|
|
647
637
|
**If you're working in a company that's making significant use of ruby-oauth tools we'd
|
|
648
638
|
appreciate it if you suggest to your company to become a ruby-oauth sponsor.**
|
|
649
639
|
|
|
640
|
+
### Individual Support
|
|
641
|
+
|
|
650
642
|
You can support the development of ruby-oauth tools via
|
|
651
643
|
[GitHub Sponsors][🖇sponsor],
|
|
652
644
|
[Liberapay][⛳liberapay],
|
|
653
|
-
[
|
|
654
|
-
[
|
|
655
|
-
and [Tidelift][🏙️entsup-tidelift].
|
|
656
|
-
|
|
657
|
-
| 📍 NOTE |
|
|
658
|
-
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
659
|
-
| If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
|
|
645
|
+
[Open Collective][🖇osc],
|
|
646
|
+
and [PayPal][🖇paypal].
|
|
660
647
|
|
|
661
648
|
### Open Collective for Individuals
|
|
662
649
|
|
|
@@ -699,8 +686,7 @@ See [SECURITY.md][🔐security].
|
|
|
699
686
|
## 🤝 Contributing
|
|
700
687
|
|
|
701
688
|
If you need some ideas of where to help, you could work on adding more code coverage,
|
|
702
|
-
|
|
703
|
-
or use the gem and think about how it could be better.
|
|
689
|
+
check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
|
|
704
690
|
|
|
705
691
|
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
|
706
692
|
|
|
@@ -739,11 +725,11 @@ Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/oauth2/-/graphs/mai
|
|
|
739
725
|
<details markdown="1">
|
|
740
726
|
<summary>⭐️ Star History</summary>
|
|
741
727
|
|
|
742
|
-
<a href="https://star-history.
|
|
728
|
+
<a href="https://star-history.dera.page/#ruby-oauth/oauth2&type=date&legend=top-left">
|
|
743
729
|
<picture>
|
|
744
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://
|
|
745
|
-
<source media="(prefers-color-scheme: light)" srcset="https://
|
|
746
|
-
<img alt="Star History Chart" src="https://
|
|
730
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://star-history.dera.page/svg?repos=ruby-oauth/oauth2&type=date&theme=dark&legend=top-left" />
|
|
731
|
+
<source media="(prefers-color-scheme: light)" srcset="https://star-history.dera.page/svg?repos=ruby-oauth/oauth2&type=date&legend=top-left" />
|
|
732
|
+
<img alt="Star History Chart" src="https://star-history.dera.page/svg?repos=ruby-oauth/oauth2&type=date&legend=top-left" />
|
|
747
733
|
</picture>
|
|
748
734
|
</a>
|
|
749
735
|
|
|
@@ -778,7 +764,7 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
|
|
|
778
764
|
## 📄 License
|
|
779
765
|
|
|
780
766
|
The gem is available as open source under the terms of
|
|
781
|
-
the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
|
|
767
|
+
the [MIT](https://github.com/ruby-oauth/oauth2/blob/main/MIT.md) [![License: MIT][📄license-img]][📄license-ref].
|
|
782
768
|
|
|
783
769
|
### © Copyright
|
|
784
770
|
|
|
@@ -789,17 +775,15 @@ See [LICENSE.md][📄license] for the official copyright notice.
|
|
|
789
775
|
|
|
790
776
|
- Copyright (c) 2010-2014, 2016-2017 Erik Michaels-Ober
|
|
791
777
|
- Copyright (c) 2010 Jeremy Kemper
|
|
792
|
-
- Copyright (c) 2010-2011 Michael Bleigh
|
|
778
|
+
- Copyright (c) 2010-2011, 2014 Michael Bleigh
|
|
793
779
|
- Copyright (c) 2010-2011 Paul Walker
|
|
794
780
|
- Copyright (c) 2010 rick
|
|
795
781
|
- Copyright (c) 2010 Tim Habermaas
|
|
796
782
|
- Copyright (c) 2010 Wynn Netherland
|
|
797
783
|
- Copyright (c) 2011 Alexander Lang
|
|
798
|
-
- Copyright (c) 2011 Alexander Lang
|
|
799
784
|
- Copyright (c) 2011 Greg Spurrier
|
|
800
785
|
- Copyright (c) 2011 Jay Adkisson
|
|
801
786
|
- Copyright (c) 2011 Luke Saunders
|
|
802
|
-
- Copyright (c) 2011 Paul Walker
|
|
803
787
|
- Copyright (c) 2011 Simon Gate
|
|
804
788
|
- Copyright (c) 2012 Bas Vodde
|
|
805
789
|
- Copyright (c) 2012 Damian Janowski
|
|
@@ -822,7 +806,6 @@ See [LICENSE.md][📄license] for the official copyright notice.
|
|
|
822
806
|
- Copyright (c) 2014 Dave Stevens
|
|
823
807
|
- Copyright (c) 2014 Ellis Berner
|
|
824
808
|
- Copyright (c) 2014 Frank Macreery
|
|
825
|
-
- Copyright (c) 2014 Michael Bleigh
|
|
826
809
|
- Copyright (c) 2014 Olivier Lacan
|
|
827
810
|
- Copyright (c) 2014 Peter Souter
|
|
828
811
|
- Copyright (c) 2014 Ryan Williams
|
|
@@ -835,7 +818,7 @@ See [LICENSE.md][📄license] for the official copyright notice.
|
|
|
835
818
|
- Copyright (c) 2016 Linus Pettersson
|
|
836
819
|
- Copyright (c) 2016 Motoshi Nishihira
|
|
837
820
|
- Copyright (c) 2017 Adrian Setyadi
|
|
838
|
-
- Copyright (c) 2017-2018 Benjamin Quorning
|
|
821
|
+
- Copyright (c) 2017-2018, 2022 Benjamin Quorning
|
|
839
822
|
- Copyright (c) 2017 Christoph Petschnig
|
|
840
823
|
- Copyright (c) 2017, 2022 Nathaniel Bibler
|
|
841
824
|
- Copyright (c) 2017 Oleg
|
|
@@ -847,10 +830,8 @@ See [LICENSE.md][📄license] for the official copyright notice.
|
|
|
847
830
|
- Copyright (c) 2018 David Christensen
|
|
848
831
|
- Copyright (c) 2018 fossabot
|
|
849
832
|
- Copyright (c) 2018 Jeff Moore
|
|
850
|
-
- Copyright (c) 2018 Jeff Moore
|
|
851
833
|
- Copyright (c) 2018 Jonathan del Strother
|
|
852
834
|
- Copyright (c) 2018 Joseph Page
|
|
853
|
-
- Copyright (c) 2018 Joseph Page
|
|
854
835
|
- Copyright (c) 2018 Lomey
|
|
855
836
|
- Copyright (c) 2018 Markus Bengts
|
|
856
837
|
- Copyright (c) 2018 Mathias Klippinge
|
|
@@ -871,24 +852,26 @@ See [LICENSE.md][📄license] for the official copyright notice.
|
|
|
871
852
|
- Copyright (c) 2021 Jan Zaydowicz
|
|
872
853
|
- Copyright (c) 2021 Nicholas Palaniuk
|
|
873
854
|
- Copyright (c) 2021-2022 Stan Hu
|
|
874
|
-
- Copyright (c) 2022 Benjamin Quorning
|
|
875
855
|
- Copyright (c) 2022 Bouke van der Bijl
|
|
876
856
|
- Copyright (c) 2022 nov
|
|
877
857
|
- Copyright (c) 2022 Rick Selby
|
|
878
858
|
- Copyright (c) 2022 Ryo Takahashi
|
|
879
859
|
- Copyright (c) 2023 Jessie Young
|
|
880
860
|
- Copyright (c) 2023 Карим Гимадеев
|
|
881
|
-
- Copyright (c) 2024
|
|
861
|
+
- Copyright (c) 2024-2026 Annibelle Boling
|
|
882
862
|
- Copyright (c) 2024 Elise Wood
|
|
883
863
|
- Copyright (c) 2024 Manuel van Rijn
|
|
884
|
-
- Copyright (c) 2025-2026 Annibelle Boling
|
|
885
864
|
- Copyright (c) 2025 Mark James
|
|
886
865
|
- Copyright (c) 2025 Mridang Agarwalla
|
|
887
866
|
- Copyright (c) 2025 Sasa Rosic
|
|
867
|
+
- Copyright (c) 2026 Daniel Pepper
|
|
868
|
+
- Copyright (c) 2026 iamibi
|
|
888
869
|
- Copyright (c) 2026 Jonathan Grinstead
|
|
889
870
|
- Copyright (c) 2026 kain
|
|
871
|
+
- Copyright (c) 2026 makssein
|
|
872
|
+
- Copyright (c) 2026 Martin Vlach
|
|
873
|
+
- Copyright (c) 2026 Mubelotix
|
|
890
874
|
- Copyright (c) 2026 Rob Zolkos
|
|
891
|
-
- Copyright (c) 2026 StepSecurity Bot
|
|
892
875
|
|
|
893
876
|
</details>
|
|
894
877
|
|
|
@@ -901,11 +884,12 @@ I'm hoping to be able to pay for my kids' health insurance this month,
|
|
|
901
884
|
so if you value the work I am doing, I need your support.
|
|
902
885
|
Please consider sponsoring me or the project.
|
|
903
886
|
|
|
904
|
-
To join the community or get help
|
|
887
|
+
To join the community or get help, use the RubyForum or Discord.
|
|
905
888
|
|
|
889
|
+
[![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
906
890
|
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
907
891
|
|
|
908
|
-
To say "thanks!" ☝️ Join the
|
|
892
|
+
To say "thanks!" ☝️ Join the community or 👇️ send money.
|
|
909
893
|
|
|
910
894
|
[![Sponsor ruby-oauth/oauth2 on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
|
|
911
895
|
|
|
@@ -946,11 +930,14 @@ Thanks for RTFM. ☺️
|
|
|
946
930
|
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
|
|
947
931
|
[✉️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
|
|
948
932
|
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
933
|
+
[✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https://www.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
|
|
934
|
+
[✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https://www.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
|
|
935
|
+
[✉️ruby-forum]: https://www.rubyforum.org/tag/oauth2
|
|
949
936
|
|
|
950
937
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
951
938
|
[⛳️gem-namespace]: https://github.com/ruby-oauth/oauth2
|
|
952
939
|
[⛳️namespace-img]: https://img.shields.io/badge/namespace-OAuth2-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
|
953
|
-
[⛳️gem-name]: https://
|
|
940
|
+
[⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/oauth2
|
|
954
941
|
[⛳️name-img]: https://img.shields.io/badge/name-oauth2-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
|
955
942
|
[⛳️tag-img]: https://img.shields.io/github/tag/ruby-oauth/oauth2.svg
|
|
956
943
|
[⛳️tag]: https://github.com/ruby-oauth/oauth2/releases
|
|
@@ -982,16 +969,13 @@ Thanks for RTFM. ☺️
|
|
|
982
969
|
[👨🏼🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
|
|
983
970
|
[👨🏼🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
|
|
984
971
|
[👨🏼🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
|
|
985
|
-
[🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-oauth2?utm_source=rubygems-oauth2&utm_medium=referral&utm_campaign=readme
|
|
986
|
-
[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
|
|
987
|
-
[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
|
|
988
972
|
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
989
973
|
[🚂railsbling]: http://www.railsbling.com
|
|
990
974
|
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
991
975
|
[📜src-gl]: https://gitlab.com/ruby-oauth/oauth2
|
|
992
976
|
[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
|
|
993
977
|
[📜src-cb]: https://codeberg.org/ruby-oauth/oauth2
|
|
994
|
-
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=
|
|
978
|
+
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
|
|
995
979
|
[📜src-gh]: https://github.com/ruby-oauth/oauth2
|
|
996
980
|
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
997
981
|
[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
@@ -999,9 +983,9 @@ Thanks for RTFM. ☺️
|
|
|
999
983
|
[📜gh-wiki]: https://github.com/ruby-oauth/oauth2/wiki
|
|
1000
984
|
[📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
|
|
1001
985
|
[📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
|
|
1002
|
-
[👽dl-rank]: https://
|
|
1003
|
-
[👽dl-ranki]: https://img.shields.io/gem/
|
|
1004
|
-
[👽version]: https://
|
|
986
|
+
[👽dl-rank]: https://clickgems.clickhouse.com/dashboard/oauth2
|
|
987
|
+
[👽dl-ranki]: https://img.shields.io/gem/dt/oauth2.svg
|
|
988
|
+
[👽version]: https://clickgems.clickhouse.com/dashboard/oauth2
|
|
1005
989
|
[👽versioni]: https://img.shields.io/gem/v/oauth2.svg
|
|
1006
990
|
[🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth2
|
|
1007
991
|
[🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/maintainability.svg
|
|
@@ -1025,7 +1009,6 @@ Thanks for RTFM. ☺️
|
|
|
1025
1009
|
[🚎jruby-9.4-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/jruby-9.4.yml
|
|
1026
1010
|
[🚎jruby-10.0-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/jruby-10.0.yml
|
|
1027
1011
|
[🚎truby-22.3-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/truffleruby-22.3.yml
|
|
1028
|
-
[🚎truby-23.0-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/truffleruby-23.0.yml
|
|
1029
1012
|
[🚎truby-23.1-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/truffleruby-23.1.yml
|
|
1030
1013
|
[🚎truby-24.2-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/truffleruby-24.2.yml
|
|
1031
1014
|
[🚎truby-25.0-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/truffleruby-25.0.yml
|
|
@@ -1064,13 +1047,11 @@ Thanks for RTFM. ☺️
|
|
|
1064
1047
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
1065
1048
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
1066
1049
|
[💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
1067
|
-
[💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
1068
1050
|
[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
1069
1051
|
[💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
1070
1052
|
[💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
1071
1053
|
[💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
1072
1054
|
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
|
1073
|
-
[💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
|
|
1074
1055
|
[💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
1075
1056
|
[💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
1076
1057
|
[💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
@@ -1103,12 +1084,12 @@ Thanks for RTFM. ☺️
|
|
|
1103
1084
|
[📌gitmoji]: https://gitmoji.dev
|
|
1104
1085
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
1105
1086
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
1106
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
1087
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.659-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
1107
1088
|
[🔐security]: https://github.com/ruby-oauth/oauth2/blob/main/SECURITY.md
|
|
1108
1089
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
1109
1090
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
1110
1091
|
[📄license]: LICENSE.md
|
|
1111
|
-
[📄license-ref]: MIT.md
|
|
1092
|
+
[📄license-ref]: https://github.com/ruby-oauth/oauth2/blob/main/MIT.md
|
|
1112
1093
|
[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
|
|
1113
1094
|
[📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
|
|
1114
1095
|
[📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
|
|
@@ -1133,5 +1114,5 @@ Thanks for RTFM. ☺️
|
|
|
1133
1114
|
| Homepage | https://github.com/ruby-oauth/oauth2 |
|
|
1134
1115
|
| Source | https://github.com/ruby-oauth/oauth2 |
|
|
1135
1116
|
| License | `MIT` |
|
|
1136
|
-
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/ruby-oauth, https://thanks.dev/u/gh/pboling, https://
|
|
1117
|
+
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/ruby-oauth, https://thanks.dev/u/gh/pboling, https://www.buymeacoffee.com/pboling |
|
|
1137
1118
|
<!-- kettle-jem:metadata:end -->
|
data/lib/oauth2/access_token.rb
CHANGED
|
@@ -157,9 +157,14 @@ You may need to set `snaky: false`. See inline documentation for more info.
|
|
|
157
157
|
no_tokens = (@token.nil? || @token.empty?) && (@refresh_token.nil? || @refresh_token.empty?)
|
|
158
158
|
if no_tokens
|
|
159
159
|
if @client.options[:raise_errors]
|
|
160
|
+
sanitized_opts = OAuth2::AUTH_SANITIZER.sanitize(
|
|
161
|
+
opts,
|
|
162
|
+
filtered_keys: OAuth2.config[:filtered_debug_keys],
|
|
163
|
+
label: OAuth2.config[:filtered_label]
|
|
164
|
+
)
|
|
160
165
|
raise Error.new({
|
|
161
166
|
error: "OAuth2::AccessToken has no token",
|
|
162
|
-
error_description: "Options are: #{
|
|
167
|
+
error_description: "Options are: #{sanitized_opts.inspect}",
|
|
163
168
|
})
|
|
164
169
|
elsif !OAuth2.config.silence_no_tokens_warning
|
|
165
170
|
warn("OAuth2::AccessToken has no token")
|
|
@@ -171,7 +176,7 @@ You may need to set `snaky: false`. See inline documentation for more info.
|
|
|
171
176
|
@expires_at &&= convert_expires_at(@expires_at)
|
|
172
177
|
@expires_latency &&= @expires_latency.to_i
|
|
173
178
|
@expires_at ||= Time.now.to_i + @expires_in if @expires_in && !@expires_in.zero?
|
|
174
|
-
@expires_at -= @expires_latency if @expires_latency
|
|
179
|
+
@expires_at -= @expires_latency if @expires_at && @expires_latency
|
|
175
180
|
@options = {
|
|
176
181
|
mode: opts.delete(:mode) || :header,
|
|
177
182
|
header_format: opts.delete(:header_format) || "Bearer %s",
|