gitlab_omniauth-ldap 2.1.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitlab-ci.yml +17 -6
- data/gitlab_omniauth-ldap.gemspec +1 -1
- data/lib/omniauth/strategies/ldap.rb +5 -5
- data/lib/omniauth-ldap/adaptor.rb +0 -1
- data/lib/omniauth-ldap/version.rb +1 -1
- data/spec/omniauth/strategies/ldap_spec.rb +14 -1
- metadata +15 -14
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 25feeb3ba0d219352e71ab7ada2e2daf80c7fb94a552985cfb012e7582476aa2
|
4
|
+
data.tar.gz: b80f443e17e0afe34510eae3918039806a61c9a53012b8eff41653c93922638e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f970c0e9b3380d132f5073039ed3486c6e8f6bbd180e9ef9b059db3591391f837f75f99f1805a5e7da872acb12cb1ea360c5fdb4275294fd9506272df7d98a5
|
7
|
+
data.tar.gz: 4b97d19722ade8113abe4c829bd3cfc40957a5983cf66f8096a97a03bd4d270145394ce3609d6cbd3b6014c081f6994d464f5ea22c2064c9b63001e33c59b8c9
|
data/.gitlab-ci.yml
CHANGED
@@ -1,12 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
before_script:
|
4
|
-
- bundle install
|
1
|
+
default:
|
2
|
+
image: "ruby:${RUBY_VERSION}"
|
5
3
|
|
6
4
|
stages:
|
7
5
|
- test
|
6
|
+
- deploy
|
8
7
|
|
9
|
-
|
10
|
-
|
8
|
+
.test-template: &test
|
9
|
+
before_script:
|
10
|
+
- bundle install
|
11
11
|
script:
|
12
12
|
- bundle exec rake spec
|
13
|
+
|
14
|
+
rspec:
|
15
|
+
parallel:
|
16
|
+
matrix:
|
17
|
+
- RUBY_VERSION: [ "2.7", "3.0", "3.1", "3.2", "3.3", "3.4"]
|
18
|
+
<<: *test
|
19
|
+
|
20
|
+
include:
|
21
|
+
- component: gitlab.com/gitlab-org/components/gem-release/gem-release@main
|
22
|
+
inputs:
|
23
|
+
gem_name: gitlab_omniauth-ldap
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |gem|
|
|
9
9
|
gem.homepage = "https://gitlab.com/gitlab-org/omniauth-ldap"
|
10
10
|
gem.license = "MIT"
|
11
11
|
|
12
|
-
gem.add_runtime_dependency 'omniauth', '
|
12
|
+
gem.add_runtime_dependency 'omniauth', '>= 1.3', '< 3'
|
13
13
|
gem.add_runtime_dependency 'net-ldap', '~> 0.16'
|
14
14
|
gem.add_runtime_dependency 'pyu-ruby-sasl', '>= 0.0.3.3', '< 0.1'
|
15
15
|
gem.add_runtime_dependency 'rubyntlm', '~> 0.5'
|
@@ -46,10 +46,10 @@ module OmniAuth
|
|
46
46
|
return fail!(:invalid_request_method) unless valid_request_method?
|
47
47
|
return fail!(:missing_credentials) if missing_credentials?
|
48
48
|
begin
|
49
|
-
@ldap_user_info = @adaptor.bind_as(:filter => filter(@adaptor), :size => 1, :password => request['password'])
|
49
|
+
@ldap_user_info = @adaptor.bind_as(:filter => filter(@adaptor), :size => 1, :password => request.params['password'])
|
50
50
|
|
51
51
|
unless @ldap_user_info
|
52
|
-
return fail!(:invalid_credentials, InvalidCredentialsError.new("Invalid credentials for #{request['username']}"))
|
52
|
+
return fail!(:invalid_credentials, InvalidCredentialsError.new("Invalid credentials for #{request.params['username']}"))
|
53
53
|
end
|
54
54
|
|
55
55
|
@user_info = self.class.map_user(@@config, @ldap_user_info)
|
@@ -61,10 +61,10 @@ module OmniAuth
|
|
61
61
|
|
62
62
|
def filter(adaptor)
|
63
63
|
if adaptor.filter and !adaptor.filter.empty?
|
64
|
-
username = Net::LDAP::Filter.escape(@options[:name_proc].call(request['username']))
|
64
|
+
username = Net::LDAP::Filter.escape(@options[:name_proc].call(request.params['username']))
|
65
65
|
Net::LDAP::Filter.construct(adaptor.filter % { username: username })
|
66
66
|
else
|
67
|
-
Net::LDAP::Filter.equals(adaptor.uid, @options[:name_proc].call(request['username']))
|
67
|
+
Net::LDAP::Filter.equals(adaptor.uid, @options[:name_proc].call(request.params['username']))
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
@@ -107,7 +107,7 @@ module OmniAuth
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def missing_credentials?
|
110
|
-
request['username'].nil? or request['username'].empty? or request['password'].nil? or request['password'].empty?
|
110
|
+
request.params['username'].nil? or request.params['username'].empty? or request.params['password'].nil? or request.params['password'].empty?
|
111
111
|
end # missing_credentials?
|
112
112
|
end
|
113
113
|
end
|
@@ -30,7 +30,20 @@ describe "OmniAuth::Strategies::LDAP" do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
describe '/auth/ldap' do
|
33
|
-
|
33
|
+
let!(:csrf_token) { SecureRandom.base64(32) }
|
34
|
+
let(:post_env) { make_env('/auth/ldap', 'rack.session' => { csrf: csrf_token }, 'rack.input' => StringIO.new("authenticity_token=#{escaped_token}")) }
|
35
|
+
let(:escaped_token) { URI.encode_www_form_component(csrf_token, Encoding::UTF_8) }
|
36
|
+
|
37
|
+
before(:each) { post '/auth/ldap', nil, post_env }
|
38
|
+
|
39
|
+
def make_env(path = '/auth/ldap', props = {})
|
40
|
+
{
|
41
|
+
'REQUEST_METHOD' => 'POST',
|
42
|
+
'PATH_INFO' => path,
|
43
|
+
'rack.session' => {},
|
44
|
+
'rack.input' => StringIO.new('test=true')
|
45
|
+
}.merge(props)
|
46
|
+
end
|
34
47
|
|
35
48
|
it 'should display a form' do
|
36
49
|
last_response.status.should == 200
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab_omniauth-ldap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ping Yu
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: omniauth
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1.3'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: net-ldap
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,7 +144,6 @@ files:
|
|
138
144
|
- ".gitignore"
|
139
145
|
- ".gitlab-ci.yml"
|
140
146
|
- ".rspec"
|
141
|
-
- ".travis.yml"
|
142
147
|
- CHANGELOG
|
143
148
|
- Gemfile
|
144
149
|
- Guardfile
|
@@ -156,7 +161,7 @@ homepage: https://gitlab.com/gitlab-org/omniauth-ldap
|
|
156
161
|
licenses:
|
157
162
|
- MIT
|
158
163
|
metadata: {}
|
159
|
-
post_install_message:
|
164
|
+
post_install_message:
|
160
165
|
rdoc_options: []
|
161
166
|
require_paths:
|
162
167
|
- lib
|
@@ -171,12 +176,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
176
|
- !ruby/object:Gem::Version
|
172
177
|
version: '0'
|
173
178
|
requirements: []
|
174
|
-
|
175
|
-
|
176
|
-
signing_key:
|
179
|
+
rubygems_version: 3.5.22
|
180
|
+
signing_key:
|
177
181
|
specification_version: 4
|
178
182
|
summary: A LDAP strategy for OmniAuth.
|
179
|
-
test_files:
|
180
|
-
- spec/omniauth-ldap/adaptor_spec.rb
|
181
|
-
- spec/omniauth/strategies/ldap_spec.rb
|
182
|
-
- spec/spec_helper.rb
|
183
|
+
test_files: []
|