omniauth-ldap 3.0.0 → 3.0.1

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,17 +1,10 @@
1
- [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![omniauth Logo (presumed to be) by tomeara, (presumed to be) MIT License][🖼️omniauth-i]][🖼️omniauth]
1
+ <a href="https://github.com/omniauth"><img alt="omniauth Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/omniauth/avatar-128px.svg" width="14%" align="right"/></a>
2
2
 
3
- [🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
4
- [🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
5
- [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
6
- [🖼️ruby-lang]: https://www.ruby-lang.org/
7
- [🖼️omniauth-i]: https://logos.galtzo.com/assets/images/omniauth/avatar-192px.png
8
- [🖼️omniauth]: https://github.com/omniauth/omniauth-ldap
3
+ # 📁 OmniAuth::LDAP
9
4
 
10
- # 📁 OmniAuth LDAP
5
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
11
6
 
12
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![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]
13
-
14
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
15
8
 
16
9
  ---
17
10
 
@@ -20,13 +13,13 @@
20
13
  [![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]
21
14
 
22
15
  <details>
23
- <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
16
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
24
17
 
25
18
  I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
26
19
 
27
20
  </details>
28
21
 
29
- ## 🌻 Synopsis
22
+ ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
30
23
 
31
24
  Use the LDAP strategy as a middleware in your application:
32
25
 
@@ -46,12 +39,12 @@ use OmniAuth::Strategies::LDAP,
46
39
  read_timeout: 7,
47
40
  tls_options: {
48
41
  ssl_version: "TLSv1_2",
49
- ciphers: ["AES-128-CBC", "AES-128-CBC-HMAC-SHA1", "AES-128-CBC-HMAC-SHA256"],
42
+ ciphers: ["AES-128-CBC", "AES-128-CBC-HMAC-SHA1", "AES-128-CBC-HMAC-SHA256"]
50
43
  },
51
44
  mapping: {
52
45
  "name" => "cn;lang-en",
53
46
  "email" => ["preferredEmail", "mail"],
54
- "nickname" => ["uid", "userid", "sAMAccountName"],
47
+ "nickname" => ["uid", "userid", "sAMAccountName"]
55
48
  }
56
49
  # Or, alternatively:
57
50
  # use OmniAuth::Strategies::LDAP, filter: '(&(uid=%{username})(memberOf=cn=myapp-users,ou=groups,dc=example,dc=com))'
@@ -78,7 +71,7 @@ use OmniAuth::Strategies::LDAP,
78
71
  port: 636,
79
72
  encryption: "ssl", # or "tls"
80
73
  base: "dc=example,dc=com",
81
- uid: "uid"
74
+ uid: "uid"
82
75
 
83
76
  # Use a private CA bundle and restrict protocol/ciphers
84
77
  use OmniAuth::Strategies::LDAP,
@@ -86,11 +79,11 @@ use OmniAuth::Strategies::LDAP,
86
79
  port: 636,
87
80
  encryption: "ssl",
88
81
  base: "dc=example,dc=com",
89
- uid: "uid",
82
+ uid: "uid",
90
83
  tls_options: {
91
84
  ca_file: "/etc/ssl/private/my_org_ca.pem",
92
85
  ssl_version: "TLSv1_2",
93
- ciphers: ["TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256"],
86
+ ciphers: ["TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256"]
94
87
  }
95
88
 
96
89
  # Opt out of verification (NOT recommended – use only in trusted test/dev scenarios)
@@ -99,7 +92,7 @@ use OmniAuth::Strategies::LDAP,
99
92
  port: 636,
100
93
  encryption: "ssl",
101
94
  base: "dc=example,dc=com",
102
- uid: "uid",
95
+ uid: "uid",
103
96
  disable_verify_certificates: true
104
97
  ```
105
98
 
@@ -107,34 +100,55 @@ Note: Net::LDAP historically defaulted to no certificate validation when `tls_op
107
100
 
108
101
  ## 💡 Info you can shake a stick at
109
102
 
110
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
103
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
111
104
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
112
- | 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] |
113
- | 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] |
114
- | 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] |
115
- | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
116
- | 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] |
117
- | Source | [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
118
- | 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] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
119
- | 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] |
120
- | 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] |
121
- | 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] |
122
- | `...` 💖 | [![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] |
105
+ | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
106
+ | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
107
+ | Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
108
+ | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
109
+ | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
110
+ | 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] |
111
+ | 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] |
112
+ | 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] |
113
+ | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
114
+ | 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] |
115
+ | 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] |
116
+ | `...` 💖 | [![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] |
123
117
 
124
118
  ### Compatibility
125
119
 
126
120
  Compatible with MRI Ruby 2.2.0+, and concordant releases of JRuby, and TruffleRuby.
121
+ CI workflows and Appraisals are generated for MRI Ruby 2.4+.
122
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
123
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
124
+ not practical for the current toolchain.
127
125
 
128
- | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
126
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
129
127
  |------------------------------------------------|--------------------------------------------------------|
130
- | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
128
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
129
+
130
+ ### Federated DVCS
131
+
132
+ <details markdown="1">
133
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
134
+
135
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
136
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
137
+ | 🧪 [omniauth/omniauth-ldap on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
138
+ | 🧊 [omniauth/omniauth-ldap on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
139
+ | 🐙 [omniauth/omniauth-ldap on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
140
+ | 🎮️ [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] |
141
+
142
+ </details>
143
+
144
+ [gh-discussions]: https://github.com/omniauth/omniauth-ldap/discussions
131
145
 
132
146
  ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/omniauth-ldap)](https://tidelift.com/subscription/pkg/rubygems-omniauth-ldap?utm_source=rubygems-omniauth-ldap&utm_medium=referral&utm_campaign=readme)
133
147
 
134
148
  Available as part of the Tidelift Subscription.
135
149
 
136
150
  <details markdown="1">
137
- <summary>Need enterprise-level guarantees?</summary>
151
+ <summary>Need enterprise-level guarantees?</summary>
138
152
 
139
153
  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.
140
154
 
@@ -166,41 +180,6 @@ If bundler is not being used to manage dependencies, install the gem by executin
166
180
  gem install omniauth-ldap
167
181
  ```
168
182
 
169
- ### 🔒 Secure Installation
170
-
171
- <details markdown="1">
172
- <summary>For Medium or High Security Installations</summary>
173
-
174
- This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
175
- [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
176
- by following the instructions below.
177
-
178
- Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
179
-
180
- ```console
181
- gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
182
- ```
183
-
184
- You only need to do that once. Then proceed to install with:
185
-
186
- ```console
187
- gem install omniauth-ldap -P HighSecurity
188
- ```
189
-
190
- The `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.
191
-
192
- If you want to up your security game full-time:
193
-
194
- ```console
195
- bundle config set --global trust-policy MediumSecurity
196
- ```
197
-
198
- `MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.
199
-
200
- NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
201
-
202
- </details>
203
-
204
183
  ## ⚙️ Configuration
205
184
 
206
185
  The following options are available for configuring the OmniAuth LDAP strategy:
@@ -534,7 +513,7 @@ app = Rack::Builder.new do
534
513
  host: "ldap.example.com",
535
514
  base: "dc=example,dc=com",
536
515
  uid: "uid",
537
- title: "Example LDAP",
516
+ title: "Example LDAP"
538
517
  )
539
518
  end
540
519
 
@@ -542,7 +521,7 @@ app = Rack::Builder.new do
542
521
  end
543
522
 
544
523
  run Rack::URLMap.new(
545
- "/myapp" => app,
524
+ "/myapp" => app
546
525
  )
547
526
  ```
548
527
 
@@ -675,13 +654,13 @@ You can support the development of omniauth tools via
675
654
  [PayPal][🖇paypal],
676
655
  and [Tidelift][🏙️entsup-tidelift].
677
656
 
678
- | 📍 NOTE |
657
+ | 📍 NOTE |
679
658
  |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
680
659
  | If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
681
660
 
682
661
  ### Another way to support open-source
683
662
 
684
- 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. 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).
663
+ 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. 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).
685
664
 
686
665
  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`.
687
666
 
@@ -689,7 +668,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
689
668
 
690
669
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
691
670
 
692
- [![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 efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
671
+ [![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 efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
693
672
 
694
673
  ## 🔐 Security
695
674
 
@@ -698,7 +677,7 @@ See [SECURITY.md][🔐security].
698
677
  ## 🤝 Contributing
699
678
 
700
679
  If you need some ideas of where to help, you could work on adding more code coverage,
701
- or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
680
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
702
681
  or use the gem and think about how it could be better.
703
682
 
704
683
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
@@ -711,10 +690,17 @@ See [CONTRIBUTING.md][🤝contributing].
711
690
 
712
691
  ### Code Coverage
713
692
 
693
+ <details markdown="1">
694
+ <summary>Coverage service badges</summary>
695
+
714
696
  [![Coverage Graph][🏀codecov-g]][🏀codecov]
715
697
 
716
698
  [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
717
699
 
700
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
701
+
702
+ </details>
703
+
718
704
  ### 🪇 Code of Conduct
719
705
 
720
706
  Everyone interacting with this project's codebases, issue trackers,
@@ -726,14 +712,16 @@ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][
726
712
 
727
713
  Made with [contributors-img][🖐contrib-rocks].
728
714
 
715
+ Also see GitLab Contributors: [https://gitlab.com/omniauth/omniauth-ldap/-/graphs/main][🚎contributors-gl]
716
+
729
717
  <details>
730
- <summary>⭐️ Star History</summary>
718
+ <summary>⭐️ Star History</summary>
731
719
 
732
- <a href="https://star-history.com/#omniauth/omniauth-ldap&Date">
720
+ <a href="https://star-history.com/omniauth/omniauth-ldap&Date">
733
721
  <picture>
734
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-ldap&type=Date&theme=dark" />
735
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-ldap&type=Date" />
736
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=omniauth/omniauth-ldap&type=Date" />
722
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-ldap&type=Date&theme=dark" />
723
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=omniauth/omniauth-ldap&type=Date" />
724
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=omniauth/omniauth-ldap&type=Date" />
737
725
  </picture>
738
726
  </a>
739
727
 
@@ -741,31 +729,20 @@ Made with [contributors-img][🖐contrib-rocks].
741
729
 
742
730
  ## 📌 Versioning
743
731
 
744
- This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
745
- Violations of this scheme should be reported as bugs.
746
- Specifically, if a minor or patch version is released that breaks backward compatibility,
747
- a new version should be immediately released that restores compatibility.
748
- Breaking changes to the public API will only be introduced with new major versions.
749
-
750
- > dropping support for a platform is both obviously and objectively a breaking change <br/>
751
- >—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
752
-
753
- I understand that policy doesn't work universally ("exceptions to every rule!"),
754
- but it is the policy here.
755
- As such, in many cases it is good to specify a dependency on this library using
756
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
732
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
733
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
757
734
 
758
735
  For example:
759
736
 
760
737
  ```ruby
761
- spec.add_dependency("omniauth-ldap", "~> 1.0")
738
+ spec.add_dependency("omniauth-ldap", "~> 3.0")
762
739
  ```
763
740
 
764
741
  <details markdown="1">
765
742
  <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
766
743
 
767
- SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
768
- is a *breaking change* to an API, and for that reason the bike shedding is endless.
744
+ Dropping support for a platform can be a breaking change for affected users.
745
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
769
746
 
770
747
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
771
748
  read this article from the creator of SemVer:
@@ -779,28 +756,41 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
779
756
  ## 📄 License
780
757
 
781
758
  The gem is available as open source under the terms of
782
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
783
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
759
+ the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
784
760
 
785
761
  ### © Copyright
786
762
 
787
- <ul>
788
- <li>
789
- Copyright (c) 2025 - 2026 Peter H. Boling, of
790
- <a href="https://discord.gg/3qme4XHNKN">
791
- Galtzo.com
792
- <picture>
793
- <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">
794
- </picture>
795
- </a>, and omniauth-ldap contributors.
796
- </li>
797
- <li>
798
- Copyright (c) 2014 David Benko
799
- </li>
800
- <li>
801
- Copyright (c) 2011 by Ping Yu and Intridea, Inc.
802
- </li>
803
- </ul>
763
+ See [LICENSE.md][📄license] for the official copyright notice.
764
+
765
+ <details markdown="1">
766
+ <summary>Copyright holders</summary>
767
+
768
+ - Copyright (c) 2011 Hubert
769
+ - Copyright (c) 2011-2013 Ping Yu
770
+ - Copyright (c) 2012 angel brown
771
+ - Copyright (c) 2012 Dmitriy Dzema
772
+ - Copyright (c) 2012 Dmitriy Zaporozhets
773
+ - Copyright (c) 2012 Pat Thoyts
774
+ - Copyright (c) 2012 Rashit Azizbaev
775
+ - Copyright (c) 2012 Samuel de Framond
776
+ - Copyright (c) 2012 Terry Tai
777
+ - Copyright (c) 2014 David Benko
778
+ - Copyright (c) 2014 Jakub Jirutka
779
+ - Copyright (c) 2014 Jason Hollingsworth
780
+ - Copyright (c) 2014 Mack Talcott
781
+ - Copyright (c) 2016-2018 Drew Blessing
782
+ - Copyright (c) 2016 Julian Kniephoff
783
+ - Copyright (c) 2016 Mike Tierney
784
+ - Copyright (c) 2016 Sasha Kotlyar
785
+ - Copyright (c) 2017 Michael Kozono
786
+ - Copyright (c) 2017 Tiago Botelho
787
+ - Copyright (c) 2018 tmilewski
788
+ - Copyright (c) 2019 Drew Blessing
789
+ - Copyright (c) 2022 Finn Bacall
790
+ - Copyright (c) 2022 Stan Hu
791
+ - Copyright (c) 2025-2026 Peter H. Boling
792
+
793
+ </details>
804
794
 
805
795
  ## 🤑 A request for help
806
796
 
@@ -821,6 +811,8 @@ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
821
811
 
822
812
  ### Please give the project a star ⭐ ♥.
823
813
 
814
+ Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
815
+
824
816
  Thanks for RTFM. ☺️
825
817
 
826
818
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
@@ -832,7 +824,7 @@ Thanks for RTFM. ☺️
832
824
  [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
833
825
  [🖇polar]: https://polar.sh/pboling
834
826
  [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
835
- [🖇kofi]: https://ko-fi.com/O5O86SNP4
827
+ [🖇kofi]: https://ko-fi.com/pboling
836
828
  [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
837
829
  [🖇patreon]: https://patreon.com/galtzo
838
830
  [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
@@ -850,17 +842,17 @@ Thanks for RTFM. ☺️
850
842
 
851
843
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
852
844
  [⛳️gem-namespace]: https://github.com/omniauth/omniauth-ldap
853
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-Omniauth::Ldap-3C2D2D.svg?style=square&logo=ruby&logoColor=white
845
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-OmniAuth::LDAP-3C2D2D.svg?style=square&logo=ruby&logoColor=white
854
846
  [⛳️gem-name]: https://bestgems.org/gems/omniauth-ldap
855
847
  [⛳️name-img]: https://img.shields.io/badge/name-omniauth--ldap-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
856
848
  [⛳️tag-img]: https://img.shields.io/github/tag/omniauth/omniauth-ldap.svg
857
- [⛳️tag]: http://github.com/omniauth/omniauth-ldap/releases
849
+ [⛳️tag]: https://github.com/omniauth/omniauth-ldap/releases
858
850
  [🚂maint-blog]: http://www.railsbling.com/tags/omniauth-ldap
859
851
  [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
860
852
  [🚂maint-contact]: http://www.railsbling.com/contact
861
853
  [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
862
854
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
863
- [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
855
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
864
856
  [💖✌️wellfound]: https://wellfound.com/u/peter-boling
865
857
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
866
858
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
@@ -888,38 +880,53 @@ Thanks for RTFM. ☺️
888
880
  [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
889
881
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
890
882
  [🚂railsbling]: http://www.railsbling.com
883
+ [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
884
+ [📜src-gl]: https://gitlab.com/omniauth/omniauth-ldap
885
+ [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
886
+ [📜src-cb]: https://codeberg.org/omniauth/omniauth-ldap
891
887
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
892
888
  [📜src-gh]: https://github.com/omniauth/omniauth-ldap
893
889
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
894
890
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
891
+ [📜gl-wiki]: https://gitlab.com/omniauth/omniauth-ldap/-/wikis/home
895
892
  [📜gh-wiki]: https://github.com/omniauth/omniauth-ldap/wiki
896
- [📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
893
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
894
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
897
895
  [👽dl-rank]: https://bestgems.org/gems/omniauth-ldap
898
896
  [👽dl-ranki]: https://img.shields.io/gem/rd/omniauth-ldap.svg
899
897
  [👽version]: https://bestgems.org/gems/omniauth-ldap
900
898
  [👽versioni]: https://img.shields.io/gem/v/omniauth-ldap.svg
899
+ [🏀qlty-mnt]: https://qlty.sh/gh/omniauth/projects/omniauth-ldap
900
+ [🏀qlty-mnti]: https://qlty.sh/gh/omniauth/projects/omniauth-ldap/maintainability.svg
901
+ [🏀qlty-cov]: https://qlty.sh/gh/omniauth/projects/omniauth-ldap/metrics/code?sort=coverageRating
902
+ [🏀qlty-covi]: https://qlty.sh/gh/omniauth/projects/omniauth-ldap/coverage.svg
901
903
  [🏀codecov]: https://codecov.io/gh/omniauth/omniauth-ldap
902
904
  [🏀codecovi]: https://codecov.io/gh/omniauth/omniauth-ldap/graph/badge.svg
903
905
  [🏀coveralls]: https://coveralls.io/github/omniauth/omniauth-ldap?branch=main
904
906
  [🏀coveralls-img]: https://coveralls.io/repos/github/omniauth/omniauth-ldap/badge.svg?branch=main
905
- [🖐codeQL]: https://github.com/omniauth/omniauth-ldap/security/code-scanning
906
- [🖐codeQL-img]: https://github.com/omniauth/omniauth-ldap/actions/workflows/codeql-analysis.yml/badge.svg
907
- [🚎1-an-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ancient.yml
908
- [🚎1-an-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ancient.yml/badge.svg
907
+ [🚎ruby-2.4-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-2.4.yml
908
+ [🚎ruby-2.5-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-2.5.yml
909
+ [🚎ruby-2.6-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-2.6.yml
910
+ [🚎ruby-2.7-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-2.7.yml
911
+ [🚎ruby-3.0-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-3.0.yml
912
+ [🚎ruby-3.1-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-3.1.yml
913
+ [🚎ruby-3.2-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-3.2.yml
914
+ [🚎ruby-3.3-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-3.3.yml
915
+ [🚎ruby-3.4-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/ruby-3.4.yml
916
+ [🚎jruby-9.2-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/jruby-9.2.yml
917
+ [🚎jruby-9.3-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/jruby-9.3.yml
918
+ [🚎jruby-9.4-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/jruby-9.4.yml
919
+ [🚎truby-22.3-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffleruby-22.3.yml
920
+ [🚎truby-23.0-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffleruby-23.0.yml
921
+ [🚎truby-23.1-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffleruby-23.1.yml
922
+ [🚎truby-24.2-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffleruby-24.2.yml
923
+ [🚎truby-25.0-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffleruby-25.0.yml
909
924
  [🚎2-cov-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/coverage.yml
910
925
  [🚎2-cov-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/coverage.yml/badge.svg
911
926
  [🚎3-hd-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/heads.yml
912
927
  [🚎3-hd-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/heads.yml/badge.svg
913
- [🚎4-lg-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/legacy.yml
914
- [🚎4-lg-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/legacy.yml/badge.svg
915
928
  [🚎5-st-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/style.yml
916
929
  [🚎5-st-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/style.yml/badge.svg
917
- [🚎6-s-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/supported.yml
918
- [🚎6-s-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/supported.yml/badge.svg
919
- [🚎7-us-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/unsupported.yml
920
- [🚎7-us-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/unsupported.yml/badge.svg
921
- [🚎8-ho-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/hoary.yml
922
- [🚎8-ho-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/hoary.yml/badge.svg
923
930
  [🚎9-t-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffle.yml
924
931
  [🚎9-t-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/truffle.yml/badge.svg
925
932
  [🚎10-j-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/jruby.yml
@@ -934,10 +941,8 @@ Thanks for RTFM. ☺️
934
941
  [🚎14-🔓️-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/unlocked_deps.yml/badge.svg
935
942
  [🚎15-🪪-wf]: https://github.com/omniauth/omniauth-ldap/actions/workflows/license-eye.yml
936
943
  [🚎15-🪪-wfi]: https://github.com/omniauth/omniauth-ldap/actions/workflows/license-eye.yml/badge.svg
937
- [💎ruby-2.0i]: https://img.shields.io/badge/Ruby-2.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
938
- [💎ruby-2.1i]: https://img.shields.io/badge/Ruby-2.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
939
944
  [💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
940
- [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
945
+ [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
941
946
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
942
947
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
943
948
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -946,48 +951,57 @@ Thanks for RTFM. ☺️
946
951
  [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
947
952
  [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
948
953
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
954
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
955
+ [💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
949
956
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
950
957
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
951
- [💎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
952
- [💎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
958
+ [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
959
+ [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
953
960
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
961
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
962
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
954
963
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
955
- [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
956
- [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
957
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
958
- [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
964
+ [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
965
+ [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
959
966
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
960
967
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
961
968
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
962
969
  [🤝gh-issues]: https://github.com/omniauth/omniauth-ldap/issues
963
970
  [🤝gh-pulls]: https://github.com/omniauth/omniauth-ldap/pulls
964
- [🤝contributing]: CONTRIBUTING.md
965
- [🏀codecov-g]: https://codecov.io/gh/omniauth/omniauth-ldap/graphs/tree.svg
971
+ [🤝gl-issues]: https://gitlab.com/omniauth/omniauth-ldap/-/issues
972
+ [🤝gl-pulls]: https://gitlab.com/omniauth/omniauth-ldap/-/merge_requests
973
+ [🤝cb-issues]: https://codeberg.org/omniauth/omniauth-ldap/issues
974
+ [🤝cb-pulls]: https://codeberg.org/omniauth/omniauth-ldap/pulls
975
+ [🤝cb-donate]: https://donate.codeberg.org/
976
+ [🤝contributing]: https://github.com/omniauth/omniauth-ldap/blob/main/CONTRIBUTING.md
977
+ [🏀codecov-g]: https://codecov.io/gh/omniauth/omniauth-ldap/graph/badge.svg
966
978
  [🖐contrib-rocks]: https://contrib.rocks
967
979
  [🖐contributors]: https://github.com/omniauth/omniauth-ldap/graphs/contributors
968
980
  [🖐contributors-img]: https://contrib.rocks/image?repo=omniauth/omniauth-ldap
969
- [🪇conduct]: CODE_OF_CONDUCT.md
981
+ [🚎contributors-gl]: https://gitlab.com/omniauth/omniauth-ldap/-/graphs/main
982
+ [🪇conduct]: https://github.com/omniauth/omniauth-ldap/blob/main/CODE_OF_CONDUCT.md
970
983
  [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
971
984
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
972
985
  [📌semver]: https://semver.org/spec/v2.0.0.html
973
986
  [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
974
987
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
975
988
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
976
- [📌changelog]: CHANGELOG.md
989
+ [📌changelog]: https://github.com/omniauth/omniauth-ldap/blob/main/CHANGELOG.md
977
990
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
978
991
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
979
992
  [📌gitmoji]: https://gitmoji.dev
980
993
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
981
994
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
982
995
  [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.323-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
983
- [🔐security]: SECURITY.md
996
+ [🔐security]: https://github.com/omniauth/omniauth-ldap/blob/main/SECURITY.md
984
997
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
985
998
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
986
- [📄license]: LICENSE.txt
987
- [📄license-ref]: https://opensource.org/licenses/MIT
999
+ [📄license]: LICENSE.md
1000
+ [📄license-ref]: MIT.md
988
1001
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
989
- [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
1002
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
990
1003
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
1004
+
991
1005
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
992
1006
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
993
1007
  [🚎yard-current]: http://rubydoc.info/gems/omniauth-ldap
@@ -999,8 +1013,3 @@ Thanks for RTFM. ☺️
999
1013
  [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
1000
1014
  [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
1001
1015
  [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
1002
-
1003
- [//]: # (LDAP RFC references)
1004
- [rfc4511]: https://datatracker.ietf.org/doc/html/rfc4511
1005
- [rfc4514]: https://datatracker.ietf.org/doc/html/rfc4514
1006
- [rfc4519]: https://datatracker.ietf.org/doc/html/rfc4519
data/RUBOCOP.md CHANGED
File without changes