omniauth-identity 3.1.1 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +68 -20
- data/CODE_OF_CONDUCT.md +24 -22
- data/CONTRIBUTING.md +65 -41
- data/LICENSE.txt +1 -1
- data/README.md +330 -173
- data/SECURITY.md +30 -8
- data/lib/omniauth/identity/version.rb +1 -1
- data/lib/omniauth/identity.rb +1 -1
- data/lib/omniauth/strategies/identity.rb +3 -3
- data/lib/omniauth-identity.rb +1 -1
- data.tar.gz.sig +2 -2
- metadata +84 -67
- metadata.gz.sig +0 -0
data/README.md
CHANGED
@@ -1,152 +1,121 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
[![CI Legacy Build][🚎4-lg-wfi]][🚎4-lg-wf]
|
13
|
-
[![CI Unsupported Build][🚎7-us-wfi]][🚎7-us-wf]
|
14
|
-
[![CI Heads Build][🚎3-hd-wfi]][🚎3-hd-wf]
|
15
|
-
[![CI Ancient Build][🚎1-an-wfi]][🚎1-an-wf]
|
16
|
-
[![CI Coverage Build][🚎2-cov-wfi]][🚎2-cov-wf]
|
17
|
-
[![CI Style Build][🚎5-st-wfi]][🚎5-st-wf]
|
18
|
-
|
19
|
-
<!--- ( 👽️ INFO LINKS ) -->
|
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>
|
20
12
|
|
21
|
-
|
22
|
-
[👽dl-ranki]: https://img.shields.io/gem/rd/omniauth-identity.svg
|
23
|
-
[👽oss-help]: https://www.codetriage.com/omniauth/omniauth-identity
|
24
|
-
[👽oss-helpi]: https://www.codetriage.com/omniauth/omniauth-identity/badges/users.svg
|
25
|
-
[👽version]: https://rubygems.org/gems/omniauth-identity
|
26
|
-
[👽versioni]: https://img.shields.io/gem/v/omniauth-identity.svg
|
27
|
-
|
28
|
-
<!--- ( 🔑 KEYED LINKS ) -->
|
29
|
-
|
30
|
-
[🔑cc-mnt]: https://codeclimate.com/github/omniauth/omniauth-identity/maintainability
|
31
|
-
[🔑cc-mnti♻️]: https://api.codeclimate.com/v1/badges/621d6211cb2e0959ce00/maintainability
|
32
|
-
[🔑cc-cov]: https://codeclimate.com/github/omniauth/omniauth-identity/test_coverage
|
33
|
-
[🔑cc-covi♻️]: https://api.codeclimate.com/v1/badges/621d6211cb2e0959ce00/test_coverage
|
34
|
-
[🔑codecov]: https://codecov.io/gh/omniauth/omniauth-identity
|
35
|
-
[🔑codecovi♻️]: https://codecov.io/gh/omniauth/omniauth-identity/graph/badge.svg?token=cc6UdZCpAL
|
36
|
-
[🔑depfu]: https://depfu.com/github/omniauth/omniauth-identity
|
37
|
-
[🔑depfui♻️]: https://badges.depfu.com/badges/6c9b45362951b872127f9e46d39bed76/count.svg
|
13
|
+
# 🫵 OmniAuth::Identity
|
38
14
|
|
39
|
-
|
40
|
-
|
41
|
-
[🚎1-an-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/ancient.yml
|
42
|
-
[🚎1-an-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/ancient.yml/badge.svg
|
43
|
-
[🚎2-cov-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/coverage.yml
|
44
|
-
[🚎2-cov-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/coverage.yml/badge.svg
|
45
|
-
[🚎3-hd-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/heads.yml
|
46
|
-
[🚎3-hd-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/heads.yml/badge.svg
|
47
|
-
[🚎4-lg-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/legacy.yml
|
48
|
-
[🚎4-lg-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/legacy.yml/badge.svg
|
49
|
-
[🚎5-st-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/style.yml
|
50
|
-
[🚎5-st-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/style.yml/badge.svg
|
51
|
-
[🚎6-s-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/supported.yml
|
52
|
-
[🚎6-s-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/supported.yml/badge.svg
|
53
|
-
[🚎7-us-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/unsupported.yml
|
54
|
-
[🚎7-us-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/unsupported.yml/badge.svg
|
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]
|
55
16
|
|
56
|
-
|
17
|
+
---
|
57
18
|
|
58
|
-
[![Liberapay
|
59
|
-
[![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
|
60
|
-
[![Polar Shield][🖇polar-img]][🖇polar]
|
61
|
-
[![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
|
62
|
-
[![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
|
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]
|
63
20
|
|
64
|
-
|
65
|
-
[⛳liberapay]: https://liberapay.com/pboling/donate
|
66
|
-
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
67
|
-
[🖇sponsor]: https://github.com/sponsors/pboling
|
68
|
-
[🖇polar-img]: https://polar.sh/embed/seeks-funding-shield.svg?org=pboling
|
69
|
-
[🖇polar]: https://polar.sh/pboling
|
70
|
-
[🖇kofi-img]: https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg
|
71
|
-
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
72
|
-
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
|
73
|
-
[🖇patreon]: https://patreon.com/galtzo
|
74
|
-
|
75
|
-
The OmniAuth Identity gem provides a way for applications to utilize a
|
21
|
+
The `omniauth-identity` gem provides a way for applications to utilize a
|
76
22
|
traditional username/password based authentication system without the need
|
77
23
|
to give up the simple authentication flow provided by OmniAuth. Identity
|
78
24
|
is designed on purpose to be as featureless as possible: it provides the
|
79
25
|
basic construct for user management and then gets out of the way.
|
80
26
|
|
81
|
-
|
82
|
-
|
83
|
-
|
|
84
|
-
|
85
|
-
|
|
86
|
-
|
87
|
-
|
88
|
-
[
|
89
|
-
[
|
90
|
-
[
|
91
|
-
[
|
92
|
-
[
|
93
|
-
[
|
94
|
-
[
|
95
|
-
[
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
27
|
+
## 💡 Info you can shake a stick at
|
28
|
+
|
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] |
|
42
|
+
|
43
|
+
## ✨ Installation
|
44
|
+
|
45
|
+
Install the gem and add to the application's Gemfile by executing:
|
46
|
+
|
47
|
+
$ bundle add omniauth-identity
|
48
|
+
|
49
|
+
If bundler is not being used to manage dependencies, install the gem by executing:
|
50
|
+
|
51
|
+
$ gem install omniauth-identity
|
52
|
+
|
53
|
+
### 🔒 Secure Installation
|
54
|
+
|
55
|
+
`omniauth-identity` is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
|
56
|
+
[stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
|
57
|
+
by following the instructions below.
|
58
|
+
|
59
|
+
Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
|
110
60
|
|
111
61
|
```shell
|
112
|
-
|
62
|
+
gem cert --add <(curl -Ls https://raw.github.com/omniauth/omniauth-identity/main/certs/pboling.pem)
|
113
63
|
```
|
114
64
|
|
115
|
-
|
65
|
+
You only need to do that once. Then proceed to install with:
|
116
66
|
|
117
|
-
```
|
118
|
-
gem
|
67
|
+
```shell
|
68
|
+
gem install omniauth-identity -P MediumSecurity
|
119
69
|
```
|
120
70
|
|
121
|
-
|
71
|
+
The `MediumSecurity` trust profile will verify signed gems, but allow the installation of unsigned dependencies.
|
122
72
|
|
123
|
-
This
|
73
|
+
This is necessary because not all of `omniauth-identity`’s dependencies are signed, so we cannot use `HighSecurity`.
|
74
|
+
|
75
|
+
If you want to up your security game full-time:
|
76
|
+
|
77
|
+
```shell
|
78
|
+
bundle config set --global trust-policy MediumSecurity
|
79
|
+
```
|
124
80
|
|
125
|
-
|
126
|
-
|
127
|
-
|
81
|
+
NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
|
82
|
+
|
83
|
+
## 🔧 Compatibility
|
84
|
+
|
85
|
+
This gem is compatible with a wide range of Ruby versions and Ruby ORMs, as of May 2025, version 3.1.
|
86
|
+
|
87
|
+
* Tested in CI against:
|
88
|
+
* Ruby 2.4, 2.5, 2.6, 2.7, 3.0, 3.1, 3.2, 3.3, 3.4, ruby-head
|
89
|
+
* JRuby 9.2, 9.3, 9.4, 10.0, jruby-head
|
90
|
+
* omniauth 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, HEAD
|
91
|
+
* activerecord 5.2, 6.0, 6.1, 7.0, 7.1, 7.2, 8.0, HEAD
|
92
|
+
* sqlite3 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 2.0, 2.1
|
93
|
+
* couch_potato 1.17+
|
94
|
+
* mongoid 7.3, 7.4, 8.1, 9.0
|
95
|
+
* bson 4.12, 4.15, 5.0, HEAD
|
96
|
+
* sequel 5.86+
|
128
97
|
* At least 5 different database ORM adapters, which connect to 15 different database clients!
|
129
98
|
|
130
99
|
| Databases | Adapter Libraries |
|
131
|
-
|
132
|
-
| MySQL, PostgreSQL,
|
100
|
+
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
101
|
+
| MySQL, MariaDB, PostgreSQL, SQLite | [ActiveRecord](https://guides.rubyonrails.org/active_record_basics.html) |
|
133
102
|
| CouchDB | [CouchPotato](https://github.com/langalex/couch_potato) |
|
134
103
|
| MongoDB | [Mongoid](https://github.com/mongodb/mongoid) |
|
135
104
|
| RethinkDB | [NoBrainer](http://nobrainer.io/) |
|
136
|
-
| ADO, Amalgalite, IBM_DB, JDBC, MySQL,
|
105
|
+
| ADO, Amalgalite, IBM_DB, JDBC, MySQL, MariaDB, ODBC, Oracle, PostgreSQL, SQLAnywhere, SQLite, and TinyTDS | [Sequel](http://sequel.jeremyevans.net) |
|
137
106
|
|
138
|
-
## Usage
|
107
|
+
## 🔧 Basic Usage
|
139
108
|
|
140
109
|
This can be a bit hard to understand the first time. Luckily, Ryan Bates made
|
141
110
|
a [Railscast](http://railscasts.com/episodes/304-omniauth-identity) about it!
|
142
111
|
|
143
112
|
You use `omniauth-identity` just like you would any other OmniAuth provider: as a
|
144
113
|
Rack middleware. In rails, this would be created by an initializer, such as
|
145
|
-
`config/initializers/omniauth.rb`. The basic setup for
|
114
|
+
`config/initializers/omniauth.rb`. The basic setup for an email/password authentication would look something like this:
|
146
115
|
|
147
116
|
```ruby
|
148
117
|
use OmniAuth::Builder do
|
149
|
-
provider :identity,
|
118
|
+
provider :identity, # required: tells OA that the Identity strategy is being used
|
150
119
|
model: Identity, # optional: specifies the name of the "Identity" model. Defaults to "Identity"
|
151
120
|
fields: %i[email custom1 custom2] # optional: list of custom fields that are in the model's table
|
152
121
|
end
|
@@ -162,7 +131,7 @@ running, you can point users to `/auth/identity` and it will request
|
|
162
131
|
that they log in or give them the opportunity to sign up for an account.
|
163
132
|
Once they have authenticated with their identity, OmniAuth will call
|
164
133
|
through to `/auth/identity/callback` with the same kinds of information
|
165
|
-
it would had the user authenticated through an external provider.
|
134
|
+
it would have had the user authenticated through an external provider.
|
166
135
|
|
167
136
|
**Note:** OmniAuth Identity is different from many other user authentication
|
168
137
|
systems in that it is *not* built to store authentication information in your primary
|
@@ -173,7 +142,7 @@ strategies such as Facebook, Twitter, etc.
|
|
173
142
|
### ActiveRecord
|
174
143
|
|
175
144
|
Just subclass `OmniAuth::Identity::Models::ActiveRecord` and provide fields
|
176
|
-
in the database for all
|
145
|
+
in the database for all the fields you are using.
|
177
146
|
|
178
147
|
```ruby
|
179
148
|
class Identity < OmniAuth::Identity::Models::ActiveRecord
|
@@ -271,7 +240,7 @@ end
|
|
271
240
|
NOTE: In the above example, `MyCustomClass` must have a class method called `auth_key` that returns
|
272
241
|
the default (`email`) or custom `auth_key` to use.
|
273
242
|
|
274
|
-
|
243
|
+
### Customizing Registration Failure
|
275
244
|
|
276
245
|
To use your own custom registration form, create a form that POSTs to
|
277
246
|
`/auth/identity/register` with `password`, `password_confirmation`, and your
|
@@ -320,7 +289,7 @@ introduction](http://library.edgecase.com/Rails/2011/01/04/rails-routing-and-rac
|
|
320
289
|
and
|
321
290
|
[ActionController::Metal](http://rubydoc.info/docs/rails/ActionController/Metal)
|
322
291
|
|
323
|
-
|
292
|
+
### Customizing Locate Conditions
|
324
293
|
|
325
294
|
You can customize the way that matching records are found when authenticating.
|
326
295
|
For example, for a site with multiple domains, you may wish to scope the search
|
@@ -344,9 +313,10 @@ Note: Be careful when customizing `locate_conditions`. The best way to modify t
|
|
344
313
|
to copy the default value, and then add to the hash. Removing the default condition will almost
|
345
314
|
always break things!
|
346
315
|
|
347
|
-
|
316
|
+
### Customizing Other Things
|
348
317
|
|
349
318
|
From the code - here are the options we have for you, a couple of which are documented above, and the rest are documented... in the specs we hope!?
|
319
|
+
|
350
320
|
```
|
351
321
|
option :fields, %i[name email]
|
352
322
|
|
@@ -364,23 +334,32 @@ option :locate_conditions, ->(req) { {model.auth_key => req.params["auth_key"]}
|
|
364
334
|
|
365
335
|
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. 😭
|
366
336
|
|
337
|
+
## 🔐 Security
|
338
|
+
|
339
|
+
See [SECURITY.md][🔐security].
|
340
|
+
|
367
341
|
## 🤝 Contributing
|
368
342
|
|
369
343
|
If you need some ideas of where to help, you could work on adding more code coverage,
|
370
|
-
or if it is already 💯 (see [below](#code-coverage))
|
344
|
+
or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
|
371
345
|
or use the gem and think about how it could be better.
|
372
346
|
|
373
|
-
|
347
|
+
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
374
348
|
|
375
|
-
[🤝
|
376
|
-
|
377
|
-
|
349
|
+
See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
|
350
|
+
|
351
|
+
### 🚀 Release Instructions
|
352
|
+
|
353
|
+
See [CONTRIBUTING.md][🤝contributing].
|
378
354
|
|
379
355
|
### Code Coverage
|
380
356
|
|
381
|
-
[![Coverage
|
357
|
+
[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
|
358
|
+
|
359
|
+
### 🪇 Code of Conduct
|
382
360
|
|
383
|
-
|
361
|
+
Everyone interacting with this project's codebases, issue trackers,
|
362
|
+
chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
|
384
363
|
|
385
364
|
## 🌈 Contributors
|
386
365
|
|
@@ -388,41 +367,45 @@ Also, see [CONTRIBUTING.md][🤝contributing].
|
|
388
367
|
|
389
368
|
Made with [contributors-img][🖐contrib-rocks].
|
390
369
|
|
391
|
-
|
392
|
-
[🖐contributors]: https://github.com/omniauth/omniauth-identity/graphs/contributors
|
393
|
-
[🖐contributors-img]: https://contrib.rocks/image?repo=omniauth/omniauth-identity
|
394
|
-
|
395
|
-
## Star History
|
370
|
+
## ⭐️ Star History
|
396
371
|
|
397
372
|
<a href="https://star-history.com/#omniauth/omniauth-identity&Date">
|
398
373
|
<picture>
|
399
|
-
|
400
|
-
|
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"/>
|
401
378
|
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=omniauth/omniauth-identity&type=Date" />
|
402
379
|
</picture>
|
403
380
|
</a>
|
404
381
|
|
405
|
-
## 🪇 Code of Conduct
|
406
|
-
|
407
|
-
Everyone interacting in this project's codebases, issue trackers,
|
408
|
-
chat rooms and mailing lists is expected to follow the [code of conduct][🪇conduct].
|
409
|
-
|
410
|
-
[🪇conduct]: CODE_OF_CONDUCT.md
|
411
|
-
|
412
382
|
## 📌 Versioning
|
413
383
|
|
414
|
-
This Library adheres to [Semantic Versioning 2.0.0][📌semver].
|
384
|
+
This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
|
415
385
|
Violations of this scheme should be reported as bugs.
|
416
386
|
Specifically, if a minor or patch version is released that breaks backward compatibility,
|
417
387
|
a new version should be immediately released that restores compatibility.
|
418
388
|
Breaking changes to the public API will only be introduced with new major versions.
|
419
389
|
|
390
|
+
### 📌 Is "Platform Support" part of the public API?
|
391
|
+
|
392
|
+
Yes. But I'm obligated to include notes...
|
393
|
+
|
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.
|
397
|
+
|
398
|
+
> dropping support for a platform is both obviously and objectively a breaking change
|
399
|
+
|
400
|
+
- Jordan Harband (@ljharb, maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
|
401
|
+
|
420
402
|
To get a better understanding of how SemVer is intended to work over a project's lifetime,
|
421
403
|
read this article from the creator of SemVer:
|
422
404
|
|
423
405
|
- ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
|
424
406
|
|
425
|
-
As a result of this policy,
|
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
|
426
409
|
the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
|
427
410
|
|
428
411
|
For example:
|
@@ -431,14 +414,7 @@ For example:
|
|
431
414
|
spec.add_dependency("omniauth-identity", "~> 3.1")
|
432
415
|
```
|
433
416
|
|
434
|
-
See [CHANGELOG.md][📌changelog] for list of releases.
|
435
|
-
|
436
|
-
<!--- ( 📌 VERSIONING LINKS ) -->
|
437
|
-
|
438
|
-
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
439
|
-
[📌semver]: http://semver.org/
|
440
|
-
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
441
|
-
[📌changelog]: CHANGELOG.md
|
417
|
+
See [CHANGELOG.md][📌changelog] for a list of releases.
|
442
418
|
|
443
419
|
## 📄 License
|
444
420
|
|
@@ -446,36 +422,217 @@ The gem is available as open source under the terms of
|
|
446
422
|
the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
|
447
423
|
See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
|
448
424
|
|
449
|
-
[comment]: <> ( 📄 LEGAL LINKS )
|
450
|
-
|
451
|
-
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
452
|
-
[📄license]: LICENSE.txt
|
453
|
-
[📄license-ref]: https://opensource.org/licenses/MIT
|
454
|
-
[📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
|
455
|
-
|
456
425
|
### © Copyright
|
457
426
|
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
427
|
+
<ul>
|
428
|
+
<li>
|
429
|
+
Copyright (c) 2021, 2024-2025 Peter H. Boling, of
|
430
|
+
<a href="https://discord.gg/3qme4XHNKN">
|
431
|
+
Galtzo.com
|
432
|
+
<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">
|
434
|
+
</picture>
|
435
|
+
</a>, and omniauth-identity contributors
|
436
|
+
</li>
|
437
|
+
<li>
|
438
|
+
Copyright (c) 2020 Peter H. Boling, Andrew Roberts, and Jellybooks Ltd.
|
439
|
+
</li>
|
440
|
+
<li>
|
441
|
+
Copyright (c) 2010-2015 Michael Bleigh, and Intridea, Inc.
|
442
|
+
</li>
|
443
|
+
</ul>
|
468
444
|
|
469
445
|
## 🤑 One more thing
|
470
446
|
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
or one of the others at the head of this README.
|
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.
|
477
452
|
|
478
453
|
[![Buy me a latte][🖇buyme-img]][🖇buyme]
|
479
454
|
|
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]
|
456
|
+
|
457
|
+
P.S. Use the gem => Discord for help
|
458
|
+
|
459
|
+
[![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
460
|
+
|
461
|
+
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay
|
462
|
+
[⛳liberapay]: https://liberapay.com/pboling/donate
|
463
|
+
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
464
|
+
[🖇sponsor]: https://github.com/sponsors/pboling
|
465
|
+
[🖇polar-img]: https://img.shields.io/badge/polar-donate-yellow.svg
|
466
|
+
[🖇polar]: https://polar.sh/pboling
|
467
|
+
[🖇kofi-img]: https://img.shields.io/badge/a_more_different_coffee-✓-yellow.svg
|
468
|
+
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
469
|
+
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
|
470
|
+
[🖇patreon]: https://patreon.com/galtzo
|
471
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-✓-yellow.svg?style=flat
|
480
472
|
[🖇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
|
481
473
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
474
|
+
|
475
|
+
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
476
|
+
[⛳️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
|
484
|
+
[💖🖇linkedin]: http://www.linkedin.com/in/peterboling
|
485
|
+
[💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
|
486
|
+
[💖✌️wellfound]: https://angel.co/u/peter-boling
|
487
|
+
[💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
|
488
|
+
[💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
|
489
|
+
[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
|
490
|
+
[💖🐘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
|
492
|
+
[💖🦋bluesky]: https://bsky.app/profile/galtzo.com
|
493
|
+
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
|
494
|
+
[💖🌳linktree]: https://linktr.ee/galtzo
|
495
|
+
[💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
|
496
|
+
[💖💁🏼♂️devto]: https://dev.to/galtzo
|
497
|
+
[💖💁🏼♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
|
498
|
+
[💖💁🏼♂️aboutme]: https://about.me/peter.boling
|
499
|
+
[💖💁🏼♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
|
500
|
+
[💖🧊berg]: https://codeberg.org/pboling
|
501
|
+
[💖🐙hub]: https://github.org/pboling
|
502
|
+
[💖🛖hut]: https://sr.ht/~galtzo/
|
503
|
+
[💖🧪lab]: https://gitlab.com/pboling
|
504
|
+
[👨🏼🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
|
505
|
+
[👨🏼🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
|
506
|
+
[👨🏼🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
|
507
|
+
[👨🏼🏫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
|
509
|
+
[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
|
510
|
+
[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
|
511
|
+
[💁🏼♂️peterboling]: http://www.peterboling.com
|
512
|
+
[🚂railsbling]: http://www.railsbling.com
|
513
|
+
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
514
|
+
[📜src-gl]: https://gitlab.com/omniauth/omniauth-identity/
|
515
|
+
[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
|
516
|
+
[📜src-cb]: https://codeberg.org/omniauth/omniauth-identity
|
517
|
+
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
|
518
|
+
[📜src-gh]: https://github.com/omniauth/omniauth-identity
|
519
|
+
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
520
|
+
[📜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
|
524
|
+
[👽dl-ranki]: https://img.shields.io/gem/rd/omniauth-identity.svg
|
525
|
+
[👽oss-help]: https://www.codetriage.com/omniauth/omniauth-identity
|
526
|
+
[👽oss-helpi]: https://www.codetriage.com/omniauth/omniauth-identity/badges/users.svg
|
527
|
+
[👽version]: https://rubygems.org/gems/omniauth-identity
|
528
|
+
[👽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
|
539
|
+
[🖐codeQL]: https://github.com/omniauth/omniauth-identity/security/code-scanning
|
540
|
+
[🖐codeQL-img]: https://github.com/omniauth/omniauth-identity/actions/workflows/codeql-analysis.yml/badge.svg
|
541
|
+
[🚎1-an-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/ancient.yml
|
542
|
+
[🚎1-an-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/ancient.yml/badge.svg
|
543
|
+
[🚎2-cov-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/coverage.yml
|
544
|
+
[🚎2-cov-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/coverage.yml/badge.svg
|
545
|
+
[🚎3-hd-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/heads.yml
|
546
|
+
[🚎3-hd-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/heads.yml/badge.svg
|
547
|
+
[🚎4-lg-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/legacy.yml
|
548
|
+
[🚎4-lg-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/legacy.yml/badge.svg
|
549
|
+
[🚎5-st-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/style.yml
|
550
|
+
[🚎5-st-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/style.yml/badge.svg
|
551
|
+
[🚎6-s-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/supported.yml
|
552
|
+
[🚎6-s-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/supported.yml/badge.svg
|
553
|
+
[🚎7-us-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/unsupported.yml
|
554
|
+
[🚎7-us-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/unsupported.yml/badge.svg
|
555
|
+
[🚎8-ho-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/hoary.yml
|
556
|
+
[🚎8-ho-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/hoary.yml/badge.svg
|
557
|
+
[🚎9-t-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/truffle.yml
|
558
|
+
[🚎9-t-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/truffle.yml/badge.svg
|
559
|
+
[🚎10-j-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/jruby.yml
|
560
|
+
[🚎10-j-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/jruby.yml/badge.svg
|
561
|
+
[🚎11-c-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/current.yml
|
562
|
+
[🚎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
|
566
|
+
[💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
567
|
+
[💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
568
|
+
[💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
569
|
+
[💎ruby-2.7i]: https://img.shields.io/badge/Ruby-2.7-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
570
|
+
[💎ruby-3.0i]: https://img.shields.io/badge/Ruby-3.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
571
|
+
[💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
572
|
+
[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
573
|
+
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
574
|
+
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
575
|
+
[💎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
|
578
|
+
[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
579
|
+
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
580
|
+
[💎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
|
583
|
+
[💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
584
|
+
[💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
|
585
|
+
[💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
|
586
|
+
[🤝gh-issues]: https://github.com/omniauth/omniauth-identity/issues
|
587
|
+
[🤝gh-pulls]: https://github.com/omniauth/omniauth-identity/pulls
|
588
|
+
[🤝contributing]: CONTRIBUTING.md
|
589
|
+
[🔑codecov-g♻️]: https://codecov.io/gh/omniauth/omniauth-identity/graphs/tree.svg?token=cc6UdZCpAL
|
590
|
+
[🖐contrib-rocks]: https://contrib.rocks
|
591
|
+
[🖐contributors]: https://github.com/omniauth/omniauth-identity/graphs/contributors
|
592
|
+
[🖐contributors-img]: https://contrib.rocks/image?repo=omniauth/omniauth-identity
|
593
|
+
[🚎contributors-gl]: https://gitlab.com/omniauth/omniauth-identity/-/graphs/main
|
594
|
+
[🪇conduct]: CODE_OF_CONDUCT.md
|
595
|
+
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
|
596
|
+
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
597
|
+
[📌semver]: https://semver.org/spec/v2.0.0.html
|
598
|
+
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
|
599
|
+
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
600
|
+
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
601
|
+
[📌changelog]: CHANGELOG.md
|
602
|
+
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
603
|
+
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
604
|
+
[📌gitmoji]:https://gitmoji.dev
|
605
|
+
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20😜%20😍-34495e.svg?style=flat-square
|
606
|
+
[🧮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
|
608
|
+
[🔐security]: SECURITY.md
|
609
|
+
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
610
|
+
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
611
|
+
[📄license]: LICENSE.txt
|
612
|
+
[📄license-ref]: https://opensource.org/licenses/MIT
|
613
|
+
[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
|
614
|
+
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
615
|
+
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
616
|
+
[🚎yard-current]: http://rubydoc.info/gems/omniauth-identity
|
617
|
+
[🚎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
|
620
|
+
[💎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>
|