omniauth-identity 3.1.3 → 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/omniauth/omniauth-identity/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/omniauth/omniauth-identity/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] [![QLTY Test Coverage][🔑qlty-covi♻️]][🔑qlty-cov] [![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] [![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,61 +43,117 @@ 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
- ```shell
62
- gem cert --add <(curl -Ls https://raw.github.com/omniauth/omniauth-identity/main/certs/pboling.pem)
132
+ ```console
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
- ```shell
68
- gem install omniauth-identity -P MediumSecurity
138
+ ```console
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
 
77
- ```shell
146
+ ```console
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.
228
304
 
229
- ## Custom Auth Model
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
+ ```
320
+
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,7 +483,11 @@ See [CONTRIBUTING.md][🤝contributing].
354
483
 
355
484
  ### Code Coverage
356
485
 
357
- [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
486
+ [![Coverage Graph][🏀codecov-g]][🏀codecov]
487
+
488
+ [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
489
+
490
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
358
491
 
359
492
  ### 🪇 Code of Conduct
360
493
 
@@ -367,18 +500,21 @@ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][
367
500
 
368
501
  Made with [contributors-img][🖐contrib-rocks].
369
502
 
370
- ## ⭐️ 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>
371
507
 
372
508
  <a href="https://star-history.com/#omniauth/omniauth-identity&Date">
373
509
  <picture>
374
- <source media="(prefers-color-scheme: dark)"
375
- srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date&theme=dark"/>
376
- <source media="(prefers-color-scheme: light)"
377
- 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" />
378
512
  <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date" />
379
513
  </picture>
380
514
  </a>
381
515
 
516
+ </details>
517
+
382
518
  ## 📌 Versioning
383
519
 
384
520
  This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
@@ -387,32 +523,33 @@ Specifically, if a minor or patch version is released that breaks backward compa
387
523
  a new version should be immediately released that restores compatibility.
388
524
  Breaking changes to the public API will only be introduced with new major versions.
389
525
 
390
- ### 📌 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]
528
+
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.
391
533
 
392
- Yes. But I'm obligated to include notes...
534
+ For example:
393
535
 
394
- SemVer should, but doesn't explicitly, say that dropping support for specific Platforms
395
- is a *breaking change* to an API.
396
- It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
536
+ ```ruby
537
+ spec.add_dependency("omniauth-identity", "~> 1.0")
538
+ ```
397
539
 
398
- > dropping support for a platform is both obviously and objectively a breaking change
540
+ <details>
541
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
399
542
 
400
- - 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.
401
546
 
402
547
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
403
548
  read this article from the creator of SemVer:
404
549
 
405
550
  - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
406
551
 
407
- As a result of this policy, and the interpretive lens used by the maintainer,
408
- you can (and should) specify a dependency on these libraries using
409
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
410
-
411
- For example:
412
-
413
- ```ruby
414
- spec.add_dependency("omniauth-identity", "~> 3.1")
415
- ```
552
+ </details>
416
553
 
417
554
  See [CHANGELOG.md][📌changelog] for a list of releases.
418
555
 
@@ -430,9 +567,9 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
430
567
  <a href="https://discord.gg/3qme4XHNKN">
431
568
  Galtzo.com
432
569
  <picture>
433
- <img src="https://github.com/omniauth/omniauth-identity/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">
434
571
  </picture>
435
- </a>, and omniauth-identity contributors
572
+ </a>, and omniauth-identity contributors.
436
573
  </li>
437
574
  <li>
438
575
  Copyright (c) 2020 Peter H. Boling, Andrew Roberts, and Jellybooks Ltd.
@@ -442,53 +579,71 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
442
579
  </li>
443
580
  </ul>
444
581
 
445
- ## 🤑 One more thing
582
+ ## 🤑 A request for help
446
583
 
447
- Having arrived at the bottom of the page, please endure a final supplication.
448
- The primary maintainer of this gem, Peter Boling, wants
449
- Ruby to be a great place for people to solve problems, big and small.
450
- Please consider supporting his efforts via the giant yellow link below,
451
- or one of smaller ones, depending on button size preference.
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.
452
590
 
453
- [![Buy me a latte][🖇buyme-img]][🖇buyme]
591
+ To join the community or get help 👇️ Join the Discord.
454
592
 
455
- [![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]
593
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
456
594
 
457
- P.S. Use the gem => Discord for help
595
+ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
458
596
 
459
- [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
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]
460
598
 
461
- [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay
599
+ ### Please give the project a star ⭐ ♥.
600
+
601
+ Thanks for RTFM. ☺️
602
+
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
462
605
  [⛳liberapay]: https://liberapay.com/pboling/donate
463
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
464
608
  [🖇sponsor]: https://github.com/sponsors/pboling
465
- [🖇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
466
610
  [🖇polar]: https://polar.sh/pboling
467
- [🖇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
468
612
  [🖇kofi]: https://ko-fi.com/O5O86SNP4
469
- [🖇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
470
614
  [🖇patreon]: https://patreon.com/galtzo
471
- [🖇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
472
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
473
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
623
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
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
474
627
 
475
628
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
476
629
  [⛳️gem-namespace]: https://github.com/omniauth/omniauth-identity
477
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-OmniAuth%3A%3AIdentity-brightgreen.svg?style=flat&logo=ruby&logoColor=white
478
- [⛳️gem-name]: https://rubygems.org/gems/omniauth-identity
479
- [⛳️name-img]: https://img.shields.io/badge/name-omniauth--identity-brightgreen.svg?style=flat&logo=rubygems&logoColor=red
480
- [🚂bdfl-blog]: http://www.railsbling.com/tags/omniauth-identity
481
- [🚂bdfl-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
482
- [🚂bdfl-contact]: http://www.railsbling.com/contact
483
- [🚂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
484
639
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
485
640
  [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
486
- [💖✌️wellfound]: https://angel.co/u/peter-boling
641
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
487
642
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
488
643
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
489
644
  [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
490
645
  [💖🐘ruby-mast]: https://ruby.social/@galtzo
491
- [💖🐘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
492
647
  [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
493
648
  [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
494
649
  [💖🌳linktree]: https://linktr.ee/galtzo
@@ -505,7 +660,7 @@ P.S. Use the gem => Discord for help
505
660
  [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
506
661
  [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
507
662
  [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
508
- [🏙️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
509
664
  [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
510
665
  [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
511
666
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
@@ -518,24 +673,24 @@ P.S. Use the gem => Discord for help
518
673
  [📜src-gh]: https://github.com/omniauth/omniauth-identity
519
674
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
520
675
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
521
- [📜wiki]: https://github.com/omniauth/omniauth-identity/wiki
522
- [📜wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=Wiki&logoColor=white
523
- [👽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
524
681
  [👽dl-ranki]: https://img.shields.io/gem/rd/omniauth-identity.svg
525
682
  [👽oss-help]: https://www.codetriage.com/omniauth/omniauth-identity
526
683
  [👽oss-helpi]: https://www.codetriage.com/omniauth/omniauth-identity/badges/users.svg
527
- [👽version]: https://rubygems.org/gems/omniauth-identity
684
+ [👽version]: https://bestgems.org/gems/omniauth-identity
528
685
  [👽versioni]: https://img.shields.io/gem/v/omniauth-identity.svg
529
- [🔑qlty-mnt]: https://qlty.sh/gh/omniauth/projects/omniauth-identity
530
- [🔑qlty-mnti♻️]: https://qlty.sh/badges/c2eb0211-c105-4fc6-9b36-650307c67e06/maintainability.svg
531
- [🔑qlty-cov]: https://qlty.sh/gh/omniauth/projects/omniauth-identity
532
- [🔑qlty-covi♻️]: https://qlty.sh/badges/c2eb0211-c105-4fc6-9b36-650307c67e06/test_coverage.svg
533
- [🔑codecov]: https://codecov.io/gh/omniauth/omniauth-identity
534
- [🔑codecovi♻️]: https://codecov.io/gh/omniauth/omniauth-identity/branch/main/graph/badge.svg?token=cc6UdZCpAL
535
- [🔑coveralls]: https://coveralls.io/github/omniauth/omniauth-identity?branch=main
536
- [🔑coveralls-img]: https://coveralls.io/repos/github/omniauth/omniauth-identity/badge.svg?branch=main
537
- [🔑depfu]: https://depfu.com/github/omniauth/omniauth-identity?project_id=22381
538
- [🔑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
539
694
  [🖐codeQL]: https://github.com/omniauth/omniauth-identity/security/code-scanning
540
695
  [🖐codeQL-img]: https://github.com/omniauth/omniauth-identity/actions/workflows/codeql-analysis.yml/badge.svg
541
696
  [🚎1-an-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/ancient.yml
@@ -560,9 +715,14 @@ P.S. Use the gem => Discord for help
560
715
  [🚎10-j-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/jruby.yml/badge.svg
561
716
  [🚎11-c-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/current.yml
562
717
  [🚎11-c-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/current.yml/badge.svg
563
- [🚎12-crh-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/current-runtime-heads.yml
564
- [🚎12-crh-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/current-runtime-heads.yml/badge.svg
565
- [💎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
566
726
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
567
727
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
568
728
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -573,20 +733,26 @@ P.S. Use the gem => Discord for help
573
733
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
574
734
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
575
735
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
576
- [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
577
- [💎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
578
738
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
579
739
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
580
740
  [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
581
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
582
- [💎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
583
744
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
584
745
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
585
746
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
586
747
  [🤝gh-issues]: https://github.com/omniauth/omniauth-identity/issues
587
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/
588
754
  [🤝contributing]: CONTRIBUTING.md
589
- [🔑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
590
756
  [🖐contrib-rocks]: https://contrib.rocks
591
757
  [🖐contributors]: https://github.com/omniauth/omniauth-identity/graphs/contributors
592
758
  [🖐contributors-img]: https://contrib.rocks/image?repo=omniauth/omniauth-identity
@@ -602,37 +768,25 @@ P.S. Use the gem => Discord for help
602
768
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
603
769
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
604
770
  [📌gitmoji]:https://gitmoji.dev
605
- [📌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
606
772
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
607
- [🧮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
608
774
  [🔐security]: SECURITY.md
609
775
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
610
776
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
611
777
  [📄license]: LICENSE.txt
612
778
  [📄license-ref]: https://opensource.org/licenses/MIT
613
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
614
782
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
615
783
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
616
784
  [🚎yard-current]: http://rubydoc.info/gems/omniauth-identity
617
785
  [🚎yard-head]: https://omniauth-identity.galtzo.com
618
- [💎stone_checksums]: https://github.com/pboling/stone_checksums
619
- [💎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
620
788
  [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
621
- [💎rlts-img]: https://img.shields.io/badge/code_style_%26_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
622
- [✉️discord-invite]: https://discord.gg/3qme4XHNKN
623
- [✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
624
-
625
- <details>
626
- <summary>
627
- Disabled Badges
628
- </summary>
629
-
630
- Badges for failing services.
631
- Bug reports filed.
632
- Once fixed, these should look much nicer.
633
-
634
- [![QLTY Maintainability][🔑qlty-mnti♻️]][🔑qlty-mnt]
635
- [![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
636
- [![Coverage Graph][🔑codecov-g♻️]][🔑codecov]
637
-
638
- </details>
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/