omniauth-identity 3.1.4 → 3.1.5

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.
data/README.md CHANGED
@@ -1,22 +1,39 @@
1
- <p align="center">
2
- <a href="https://discord.gg/3qme4XHNKN" target="_blank" rel="noopener">
3
- <img width="124px" src="https://github.com/galtzo-floss/shields-badge/raw/main/docs/images/logo/galtzo-floss-logos-original.svg?raw=true" alt="Galtzo.com Logo by Aboling0, CC BY-SA 4.0">
4
- </a>
5
- <a href="https://github.com/omniauth" target="_blank" rel="noopener">
6
- <img src="https://github.com/omniauth/omniauth-identity/raw/main/docs/images/logo/omniauth-logo-182px.png?raw=true" alt="OmniAuth Logo possibly by Ted O'Meara, license unknown">
7
- </a>
8
- <a href="https://www.ruby-lang.org/" target="_blank" rel="noopener">
9
- <img width="124px" src="https://github.com/galtzo-floss/shields-badge/raw/main/docs/images/logo/ruby-logo-198px.svg?raw=true" alt="Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5">
10
- </a>
11
- </p>
1
+ | 📍 NOTE |
2
+ |-------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
+ | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
+ | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
+ | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org. |
6
+ | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
7
+
8
+ [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
9
+ [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
10
+ [draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
11
+ [draper-theft]: https://joel.drapper.me/p/ruby-central/
12
+ [gem-coop]: https://gem.coop
13
+ [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
14
+
15
+ [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![omniauth Logo by tomeara(?), MIT License][🖼️omniauth-i]][🖼️omniauth] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang]
16
+
17
+ [🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
18
+ [🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
19
+ [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
20
+ [🖼️ruby-lang]: https://www.ruby-lang.org/
21
+ [🖼️omniauth-i]: https://logos.galtzo.com/assets/images/omniauth/avatar-182px.png
22
+ [🖼️omniauth]: https://github.com/omniauth/omniauth-identity
12
23
 
13
24
  # 🫵 OmniAuth::Identity
14
25
 
15
- [![Version][👽versioni]][👽version] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![Depfu][🔑depfui♻️]][🔑depfu] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov] [![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 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]
26
+ [![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] [![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 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]
27
+
28
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
16
29
 
17
30
  ---
18
31
 
19
- [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![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]
32
+ `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.
33
+
34
+ [![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]
35
+
36
+ ## 🌻 Synopsis
20
37
 
21
38
  The `omniauth-identity` gem provides a way for applications to utilize a
22
39
  traditional username/password based authentication system without the need
@@ -26,51 +43,103 @@ basic construct for user management and then gets out of the way.
26
43
 
27
44
  ## 💡 Info you can shake a stick at
28
45
 
29
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
30
- |-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
31
- | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎10-j-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎10-j-wf] [![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] |
32
- | 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] |
33
- | Works with MRI Ruby 2 | [![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] |
34
- | Source | [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
35
- | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![BDFL Blog][🚂bdfl-blog-img]][🚂bdfl-blog] [![Wiki][📜wiki-img]][📜wiki] |
36
- | 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] |
37
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] |
38
- | Support | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
39
- | Enterprise Support | [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]<br/>💡Subscribe for support guarantees covering _all_ FLOSS dependencies!<br/>💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]!<br/>💡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! |
40
- | Comrade BDFL 🎖️ | [![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 BDFL][🚂bdfl-contact-img]][🚂bdfl-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
41
- | `...` 💖 | [![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] |
46
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
47
+ |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
48
+ | 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] |
49
+ | 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] |
50
+ | 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] |
51
+ | Works with MRI Ruby 2 | [![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] |
52
+ | 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] |
53
+ | 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] |
54
+ | 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] |
55
+ | 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] |
56
+ | 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] |
57
+ | 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] |
58
+ | `...` 💖 | [![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] |
59
+
60
+ ### Compatibility
61
+
62
+ Compatible with MRI Ruby 2.4+, and concordant releases of JRuby, and TruffleRuby.
63
+
64
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
65
+ |------------------------------------------------|--------------------------------------------------------|
66
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
67
+
68
+ ### Federated DVCS
69
+
70
+ <details>
71
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
72
+
73
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
74
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
75
+ | 🧪 [omniauth/omniauth-identity on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
76
+ | 🧊 [omniauth/omniauth-identity on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
77
+ | 🐙 [omniauth/omniauth-identity on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
78
+ | 🎮️ [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] |
79
+
80
+ </details>
81
+
82
+ [gh-discussions]: https://github.com/omniauth/omniauth-identity/discussions
83
+
84
+ ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/omniauth-identity)](https://tidelift.com/subscription/pkg/rubygems-omniauth-identity?utm_source=rubygems-omniauth-identity&utm_medium=referral&utm_campaign=readme)
85
+
86
+ Available as part of the Tidelift Subscription.
87
+
88
+ <details>
89
+ <summary>Need enterprise-level guarantees?</summary>
90
+
91
+ 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.
92
+
93
+ [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
94
+
95
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
96
+ - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
97
+ - 💡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
98
+
99
+ Alternatively:
100
+
101
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
102
+ - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
103
+ - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
104
+
105
+ </details>
42
106
 
43
107
  ## ✨ Installation
44
108
 
45
109
  Install the gem and add to the application's Gemfile by executing:
46
110
 
47
- $ bundle add omniauth-identity
111
+ ```console
112
+ bundle add omniauth-identity
113
+ ```
48
114
 
49
115
  If bundler is not being used to manage dependencies, install the gem by executing:
50
116
 
51
- $ gem install omniauth-identity
117
+ ```console
118
+ gem install omniauth-identity
119
+ ```
52
120
 
53
121
  ### 🔒 Secure Installation
54
122
 
55
- `omniauth-identity` is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
123
+ <details>
124
+ <summary>For Medium or High Security Installations</summary>
125
+
126
+ This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
56
127
  [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
57
128
  by following the instructions below.
58
129
 
59
130
  Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
60
131
 
61
132
  ```console
62
- gem cert --add <(curl -Ls https://raw.github.com/omniauth/omniauth-identity/main/certs/pboling.pem)
133
+ gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
63
134
  ```
64
135
 
65
136
  You only need to do that once. Then proceed to install with:
66
137
 
67
138
  ```console
68
- gem install omniauth-identity -P MediumSecurity
139
+ gem install omniauth-identity -P HighSecurity
69
140
  ```
70
141
 
71
- The `MediumSecurity` trust profile will verify signed gems, but allow the installation of unsigned dependencies.
72
-
73
- This is necessary because not all of `omniauth-identity`’s dependencies are signed, so we cannot use `HighSecurity`.
142
+ The `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.
74
143
 
75
144
  If you want to up your security game full-time:
76
145
 
@@ -78,9 +147,13 @@ If you want to up your security game full-time:
78
147
  bundle config set --global trust-policy MediumSecurity
79
148
  ```
80
149
 
150
+ `MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.
151
+
81
152
  NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
82
153
 
83
- ## 🔧 Compatibility
154
+ </details>
155
+
156
+ ## ⚙️ Configuration
84
157
 
85
158
  This gem is compatible with a wide range of Ruby versions and Ruby ORMs, as of May 2025, version 3.1.
86
159
 
@@ -94,14 +167,16 @@ This gem is compatible with a wide range of Ruby versions and Ruby ORMs, as of M
94
167
  * mongoid 7.3, 7.4, 8.1, 9.0
95
168
  * bson 4.12, 4.15, 5.0, HEAD
96
169
  * sequel 5.86+
97
- * At least 5 different database ORM adapters, which connect to 15 different database clients!
170
+ * rom-sql (Ruby Object Mapper) 3.7+
171
+ * At least 6 different database ORM adapters, which connect to 15 different database clients!
98
172
 
99
173
  | Databases | Adapter Libraries |
100
- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
174
+ |-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
101
175
  | MySQL, MariaDB, PostgreSQL, SQLite | [ActiveRecord](https://guides.rubyonrails.org/active_record_basics.html) |
102
176
  | CouchDB | [CouchPotato](https://github.com/langalex/couch_potato) |
103
177
  | MongoDB | [Mongoid](https://github.com/mongodb/mongoid) |
104
178
  | RethinkDB | [NoBrainer](http://nobrainer.io/) |
179
+ | ADO, Amalgalite, IBM_DB, JDBC, MySQL, MariaDB, ODBC, Oracle, PostgreSQL, SQLAnywhere, SQLite, and TinyTDS | [rom-sql](https://rom-rb.org/) |
105
180
  | ADO, Amalgalite, IBM_DB, JDBC, MySQL, MariaDB, ODBC, Oracle, PostgreSQL, SQLAnywhere, SQLite, and TinyTDS | [Sequel](http://sequel.jeremyevans.net) |
106
181
 
107
182
  ## 🔧 Basic Usage
@@ -163,6 +238,7 @@ whatever else you will need.
163
238
  ```ruby
164
239
  class SequelTestIdentity < Sequel::Model(:identities)
165
240
  include ::OmniAuth::Identity::Models::Sequel
241
+
166
242
  auth_key :email
167
243
  # whatever else you want!
168
244
  end
@@ -224,9 +300,25 @@ end
224
300
 
225
301
  ### Ruby Object Mapper
226
302
 
227
- Would love to add a mixin for the [Ruby Object Mapper (ROM)](https://rom-rb.org/) if anyone wants to work on it!
303
+ [ROM](https://rom-rb.org/) is an ORM for pretty much every database.
304
+
305
+ Include the `OmniAuth::Identity::Models::Rom` mixin and specify
306
+ the `rom_container`, everything else is optional.
307
+
308
+ ```ruby
309
+ class Identity
310
+ include OmniAuth::Identity::Models::Rom
311
+
312
+ # Configure the ROM container and relation
313
+ rom_container -> { MyDatabase.rom } # See spec_orms/rom_spec.rb for example
314
+ rom_relation_name :identities # optional, defaults to :idneitities
315
+ owner_relation_name :owners # optional, for loading associated owner
316
+ auth_key :email # optional, defaults to :email
317
+ password_field :password_digest # optional, defaults to :password_digest
318
+ end
319
+ ```
228
320
 
229
- ## Custom Auth Model
321
+ ### Custom Auth Model
230
322
 
231
323
  To use a class other than the default, specify the <tt>:model</tt> option to a
232
324
  different class.
@@ -334,6 +426,43 @@ option :locate_conditions, ->(req) { {model.auth_key => req.params["auth_key"]}
334
426
 
335
427
  Please contribute some documentation if you have the gumption! The maintainer's time is limited, and sometimes the authors of PRs with new options don't update the _this_ readme. 😭
336
428
 
429
+ ## 🦷 FLOSS Funding
430
+
431
+ While omniauth tools are free software and will always be, the project would benefit immensely from some funding.
432
+ Raising a monthly budget of... "dollars" would make the project more sustainable.
433
+
434
+ We welcome both individual and corporate sponsors! We also offer a
435
+ wide array of funding channels to account for your preferences.
436
+ Currently, [GitHub Sponsors][🖇sponsor], and [Liberapay][⛳liberapay] are our preferred funding platforms.
437
+
438
+ **If you're working in a company that's making significant use of omniauth tools we'd
439
+ appreciate it if you suggest to your company to become a omniauth sponsor.**
440
+
441
+ You can support the development of omniauth tools via
442
+ [GitHub Sponsors][🖇sponsor],
443
+ [Liberapay][⛳liberapay],
444
+ [PayPal][🖇paypal],
445
+ and [Tidelift][🏙️entsup-tidelift].
446
+
447
+ | 📍 NOTE |
448
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
449
+ | 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. |
450
+
451
+ ### Another way to support open-source
452
+
453
+ > How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
454
+ >—Anne Frank
455
+
456
+ I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions — totaling 79 hours of FLOSS coding over just the past seven days, a pretty regular week for me. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
457
+
458
+ If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
459
+
460
+ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.
461
+
462
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
463
+
464
+ [![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]
465
+
337
466
  ## 🔐 Security
338
467
 
339
468
  See [SECURITY.md][🔐security].
@@ -341,7 +470,7 @@ See [SECURITY.md][🔐security].
341
470
  ## 🤝 Contributing
342
471
 
343
472
  If you need some ideas of where to help, you could work on adding more code coverage,
344
- or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
473
+ or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
345
474
  or use the gem and think about how it could be better.
346
475
 
347
476
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
@@ -354,9 +483,11 @@ See [CONTRIBUTING.md][🤝contributing].
354
483
 
355
484
  ### Code Coverage
356
485
 
357
- [![Coverage Graph][🔑codecov-g♻️]][🔑codecov]
486
+ [![Coverage Graph][🏀codecov-g]][🏀codecov]
487
+
488
+ [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
358
489
 
359
- [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
490
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
360
491
 
361
492
  ### 🪇 Code of Conduct
362
493
 
@@ -369,18 +500,21 @@ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][
369
500
 
370
501
  Made with [contributors-img][🖐contrib-rocks].
371
502
 
372
- ## ⭐️ Star History
503
+ Also see GitLab Contributors: [https://gitlab.com/omniauth/omniauth-identity/-/graphs/main][🚎contributors-gl]
504
+
505
+ <details>
506
+ <summary>⭐️ Star History</summary>
373
507
 
374
508
  <a href="https://star-history.com/#omniauth/omniauth-identity&Date">
375
509
  <picture>
376
- <source media="(prefers-color-scheme: dark)"
377
- srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date&theme=dark"/>
378
- <source media="(prefers-color-scheme: light)"
379
- srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date"/>
510
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date&theme=dark" />
511
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date" />
380
512
  <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date" />
381
513
  </picture>
382
514
  </a>
383
515
 
516
+ </details>
517
+
384
518
  ## 📌 Versioning
385
519
 
386
520
  This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
@@ -389,32 +523,33 @@ Specifically, if a minor or patch version is released that breaks backward compa
389
523
  a new version should be immediately released that restores compatibility.
390
524
  Breaking changes to the public API will only be introduced with new major versions.
391
525
 
392
- ### 📌 Is "Platform Support" part of the public API?
526
+ > dropping support for a platform is both obviously and objectively a breaking change <br/>
527
+ >—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
393
528
 
394
- Yes. But I'm obligated to include notes...
529
+ I understand that policy doesn't work universally ("exceptions to every rule!"),
530
+ but it is the policy here.
531
+ As such, in many cases it is good to specify a dependency on this library using
532
+ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
395
533
 
396
- SemVer should, but doesn't explicitly, say that dropping support for specific Platforms
397
- is a *breaking change* to an API.
398
- It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
534
+ For example:
399
535
 
400
- > dropping support for a platform is both obviously and objectively a breaking change
536
+ ```ruby
537
+ spec.add_dependency("omniauth-identity", "~> 1.0")
538
+ ```
539
+
540
+ <details>
541
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
401
542
 
402
- - Jordan Harband (@ljharb, maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
543
+ SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
544
+ is a *breaking change* to an API.
545
+ It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
403
546
 
404
547
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
405
548
  read this article from the creator of SemVer:
406
549
 
407
550
  - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
408
551
 
409
- As a result of this policy, and the interpretive lens used by the maintainer,
410
- you can (and should) specify a dependency on these libraries using
411
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
412
-
413
- For example:
414
-
415
- ```ruby
416
- spec.add_dependency("omniauth-identity", "~> 3.1")
417
- ```
552
+ </details>
418
553
 
419
554
  See [CHANGELOG.md][📌changelog] for a list of releases.
420
555
 
@@ -432,9 +567,9 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
432
567
  <a href="https://discord.gg/3qme4XHNKN">
433
568
  Galtzo.com
434
569
  <picture>
435
- <img src="https://github.com/galtzo-floss/shields-badge/raw/main/docs/images/logo/galtzo-floss-logos-wordless.svg?raw=true" alt="Galtzo.com Logo by Aboling0, CC BY-SA 4.0" width="24">
570
+ <img src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px-blank.svg" alt="Galtzo.com Logo (Wordless) by Aboling0, CC BY-SA 4.0" width="24">
436
571
  </picture>
437
- </a>, and omniauth-identity contributors
572
+ </a>, and omniauth-identity contributors.
438
573
  </li>
439
574
  <li>
440
575
  Copyright (c) 2020 Peter H. Boling, Andrew Roberts, and Jellybooks Ltd.
@@ -444,55 +579,71 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
444
579
  </li>
445
580
  </ul>
446
581
 
447
- ## 🤑 One more thing
582
+ ## 🤑 A request for help
583
+
584
+ Maintainers have teeth and need to pay their dentists.
585
+ After getting laid off in an RIF in March and filled with many dozens of rejections,
586
+ I'm now spending ~60+ hours a week building open source tools.
587
+ I'm hoping to be able to pay for my kids' health insurance this month,
588
+ so if you value the work I am doing, I need your support.
589
+ Please consider sponsoring me or the project.
590
+
591
+ To join the community or get help 👇️ Join the Discord.
448
592
 
449
- Having arrived at the bottom of the page, please endure a final supplication.
450
- The primary maintainer of this gem, Peter Boling, wants
451
- Ruby to be a great place for people to solve problems, big and small.
452
- Please consider supporting his efforts via the giant yellow link below,
453
- or one of smaller ones, depending on button size preference.
593
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
454
594
 
455
- [![Buy me a latte][🖇buyme-img]][🖇buyme]
595
+ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
456
596
 
457
- [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![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]
597
+ [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
458
598
 
459
- P.S. If you need help️, or want to say thanks, 👇 Join the Discord.
599
+ ### Please give the project a star ♥.
460
600
 
461
- [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
601
+ Thanks for RTFM. ☺️
462
602
 
463
- [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay
603
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
604
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
464
605
  [⛳liberapay]: https://liberapay.com/pboling/donate
465
606
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
607
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
466
608
  [🖇sponsor]: https://github.com/sponsors/pboling
467
- [🖇polar-img]: https://img.shields.io/badge/polar-donate-yellow.svg
609
+ [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
468
610
  [🖇polar]: https://polar.sh/pboling
469
- [🖇kofi-img]: https://img.shields.io/badge/a_more_different_coffee-✓-yellow.svg
611
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
470
612
  [🖇kofi]: https://ko-fi.com/O5O86SNP4
471
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
613
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
472
614
  [🖇patreon]: https://patreon.com/galtzo
473
- [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-✓-yellow.svg?style=flat
615
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
474
616
  [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
475
617
  [🖇buyme]: https://www.buymeacoffee.com/pboling
618
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
619
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
620
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
621
+ [🖇floss-funding.dev]: https://floss-funding.dev
622
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
476
623
  [✉️discord-invite]: https://discord.gg/3qme4XHNKN
477
- [✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
624
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
625
+ [✉️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
626
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
478
627
 
479
628
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
480
629
  [⛳️gem-namespace]: https://github.com/omniauth/omniauth-identity
481
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-OmniAuth%3A%3AIdentity-brightgreen.svg?style=flat&logo=ruby&logoColor=white
482
- [⛳️gem-name]: https://rubygems.org/gems/omniauth-identity
483
- [⛳️name-img]: https://img.shields.io/badge/name-omniauth--identity-brightgreen.svg?style=flat&logo=rubygems&logoColor=red
484
- [🚂bdfl-blog]: http://www.railsbling.com/tags/omniauth-identity
485
- [🚂bdfl-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
486
- [🚂bdfl-contact]: http://www.railsbling.com/contact
487
- [🚂bdfl-contact-img]: https://img.shields.io/badge/Contact-BDFL-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
630
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-Omniauth::Identity-3C2D2D.svg?style=square&logo=ruby&logoColor=white
631
+ [⛳️gem-name]: https://bestgems.org/gems/omniauth-identity
632
+ [⛳️name-img]: https://img.shields.io/badge/name-omniauth--identity-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
633
+ [⛳️tag-img]: https://img.shields.io/github/tag/omniauth/omniauth-identity.svg
634
+ [⛳️tag]: http://github.com/omniauth/omniauth-identity/releases
635
+ [🚂maint-blog]: http://www.railsbling.com/tags/omniauth-identity
636
+ [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
637
+ [🚂maint-contact]: http://www.railsbling.com/contact
638
+ [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
488
639
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
489
640
  [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
490
- [💖✌️wellfound]: https://angel.co/u/peter-boling
641
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
491
642
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
492
643
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
493
644
  [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
494
645
  [💖🐘ruby-mast]: https://ruby.social/@galtzo
495
- [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=flat&logo=mastodon&label=Ruby%20%40galtzo
646
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
496
647
  [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
497
648
  [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
498
649
  [💖🌳linktree]: https://linktr.ee/galtzo
@@ -509,7 +660,7 @@ P.S. If you need help️, or want to say thanks, 👇 Join the Discord.
509
660
  [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
510
661
  [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
511
662
  [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
512
- [🏙️entsup-tidelift]: https://tidelift.com/subscription
663
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-omniauth-identity?utm_source=rubygems-omniauth-identity&utm_medium=referral&utm_campaign=readme
513
664
  [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
514
665
  [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
515
666
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
@@ -522,24 +673,24 @@ P.S. If you need help️, or want to say thanks, 👇 Join the Discord.
522
673
  [📜src-gh]: https://github.com/omniauth/omniauth-identity
523
674
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
524
675
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
525
- [📜wiki]: https://github.com/omniauth/omniauth-identity/wiki
526
- [📜wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=Wiki&logoColor=white
527
- [👽dl-rank]: https://rubygems.org/gems/omniauth-identity
676
+ [📜gl-wiki]: https://gitlab.com/omniauth/omniauth-identity/-/wikis/home
677
+ [📜gh-wiki]: https://github.com/omniauth/omniauth-identity/wiki
678
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
679
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
680
+ [👽dl-rank]: https://bestgems.org/gems/omniauth-identity
528
681
  [👽dl-ranki]: https://img.shields.io/gem/rd/omniauth-identity.svg
529
682
  [👽oss-help]: https://www.codetriage.com/omniauth/omniauth-identity
530
683
  [👽oss-helpi]: https://www.codetriage.com/omniauth/omniauth-identity/badges/users.svg
531
- [👽version]: https://rubygems.org/gems/omniauth-identity
684
+ [👽version]: https://bestgems.org/gems/omniauth-identity
532
685
  [👽versioni]: https://img.shields.io/gem/v/omniauth-identity.svg
533
- [🔑qlty-mnt]: https://qlty.sh/gh/omniauth/projects/omniauth-identity
534
- [🔑qlty-mnti]: https://qlty.sh/gh/omniauth/projects/omniauth-identity/maintainability.svg
535
- [🔑qlty-cov]: https://qlty.sh/gh/omniauth/projects/omniauth-identity/metrics/code?sort=coverageRating
536
- [🔑qlty-covi]: https://qlty.sh/gh/omniauth/projects/omniauth-identity/coverage.svg
537
- [🔑codecov]: https://codecov.io/gh/omniauth/omniauth-identity
538
- [🔑codecovi♻️]: https://codecov.io/gh/omniauth/omniauth-identity/branch/main/graph/badge.svg?token=cc6UdZCpAL
539
- [🔑coveralls]: https://coveralls.io/github/omniauth/omniauth-identity?branch=main
540
- [🔑coveralls-img]: https://coveralls.io/repos/github/omniauth/omniauth-identity/badge.svg?branch=main
541
- [🔑depfu]: https://depfu.com/github/omniauth/omniauth-identity?project_id=22381
542
- [🔑depfui♻️]: https://badges.depfu.com/badges/6c9b45362951b872127f9e46d39bed76/count.svg
686
+ [🏀qlty-mnt]: https://qlty.sh/gh/omniauth/projects/omniauth-identity
687
+ [🏀qlty-mnti]: https://qlty.sh/gh/omniauth/projects/omniauth-identity/maintainability.svg
688
+ [🏀qlty-cov]: https://qlty.sh/gh/omniauth/projects/omniauth-identity/metrics/code?sort=coverageRating
689
+ [🏀qlty-covi]: https://qlty.sh/gh/omniauth/projects/omniauth-identity/coverage.svg
690
+ [🏀codecov]: https://codecov.io/gh/omniauth/omniauth-identity
691
+ [🏀codecovi]: https://codecov.io/gh/omniauth/omniauth-identity/graph/badge.svg
692
+ [🏀coveralls]: https://coveralls.io/github/omniauth/omniauth-identity?branch=main
693
+ [🏀coveralls-img]: https://coveralls.io/repos/github/omniauth/omniauth-identity/badge.svg?branch=main
543
694
  [🖐codeQL]: https://github.com/omniauth/omniauth-identity/security/code-scanning
544
695
  [🖐codeQL-img]: https://github.com/omniauth/omniauth-identity/actions/workflows/codeql-analysis.yml/badge.svg
545
696
  [🚎1-an-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/ancient.yml
@@ -564,13 +715,14 @@ P.S. If you need help️, or want to say thanks, 👇 Join the Discord.
564
715
  [🚎10-j-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/jruby.yml/badge.svg
565
716
  [🚎11-c-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/current.yml
566
717
  [🚎11-c-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/current.yml/badge.svg
567
- [🚎12-crh-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/current-runtime-heads.yml
568
- [🚎12-crh-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/current-runtime-heads.yml/badge.svg
569
- [🚎13-🔒️-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_locked.yml
570
- [🚎13-🔒️-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_locked.yml/badge.svg
571
- [🚎14-🔓️-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_unlocked.yml
572
- [🚎14-🔓️-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_unlocked.yml/badge.svg
573
- [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
718
+ [🚎12-crh-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/dep-heads.yml
719
+ [🚎12-crh-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/dep-heads.yml/badge.svg
720
+ [🚎13-🔒️-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/locked_deps.yml
721
+ [🚎13-🔒️-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/locked_deps.yml/badge.svg
722
+ [🚎14-🔓️-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/unlocked_deps.yml
723
+ [🚎14-🔓️-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/unlocked_deps.yml/badge.svg
724
+ [🚎15-🪪-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/license-eye.yml
725
+ [🚎15-🪪-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/license-eye.yml/badge.svg
574
726
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
575
727
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
576
728
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -581,20 +733,26 @@ P.S. If you need help️, or want to say thanks, 👇 Join the Discord.
581
733
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
582
734
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
583
735
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
584
- [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
585
- [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
736
+ [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
737
+ [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
586
738
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
587
739
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
588
740
  [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
589
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
590
- [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
741
+ [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
742
+ [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
743
+ [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
591
744
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
592
745
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
593
746
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
594
747
  [🤝gh-issues]: https://github.com/omniauth/omniauth-identity/issues
595
748
  [🤝gh-pulls]: https://github.com/omniauth/omniauth-identity/pulls
749
+ [🤝gl-issues]: https://gitlab.com/omniauth/omniauth-identity/-/issues
750
+ [🤝gl-pulls]: https://gitlab.com/omniauth/omniauth-identity/-/merge_requests
751
+ [🤝cb-issues]: https://codeberg.org/omniauth/omniauth-identity/issues
752
+ [🤝cb-pulls]: https://codeberg.org/omniauth/omniauth-identity/pulls
753
+ [🤝cb-donate]: https://donate.codeberg.org/
596
754
  [🤝contributing]: CONTRIBUTING.md
597
- [🔑codecov-g♻️]: https://codecov.io/gh/omniauth/omniauth-identity/graphs/tree.svg?token=cc6UdZCpAL
755
+ [🏀codecov-g]: https://codecov.io/gh/omniauth/omniauth-identity/graphs/tree.svg
598
756
  [🖐contrib-rocks]: https://contrib.rocks
599
757
  [🖐contributors]: https://github.com/omniauth/omniauth-identity/graphs/contributors
600
758
  [🖐contributors-img]: https://contrib.rocks/image?repo=omniauth/omniauth-identity
@@ -610,20 +768,25 @@ P.S. If you need help️, or want to say thanks, 👇 Join the Discord.
610
768
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
611
769
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
612
770
  [📌gitmoji]:https://gitmoji.dev
613
- [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20😜%20😍-34495e.svg?style=flat-square
771
+ [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
614
772
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
615
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.378-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
773
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.467-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
616
774
  [🔐security]: SECURITY.md
617
775
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
618
776
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
619
777
  [📄license]: LICENSE.txt
620
778
  [📄license-ref]: https://opensource.org/licenses/MIT
621
779
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
780
+ [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
781
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
622
782
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
623
783
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
624
784
  [🚎yard-current]: http://rubydoc.info/gems/omniauth-identity
625
785
  [🚎yard-head]: https://omniauth-identity.galtzo.com
626
- [💎stone_checksums]: https://github.com/pboling/stone_checksums
627
- [💎SHA_checksums]: https://github.com/omniauth/omniauth-identity/tree/main/checksums
786
+ [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
787
+ [💎SHA_checksums]: https://gitlab.com/omniauth/omniauth-identity/-/tree/main/checksums
628
788
  [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
629
- [💎rlts-img]: https://img.shields.io/badge/code_style_%26_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
789
+ [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
790
+ [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
791
+ [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
792
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/