oa-enterprise 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile
ADDED
@@ -38,14 +38,21 @@ module OmniAuth
|
|
38
38
|
# returns nil if given nil
|
39
39
|
def parse_user_info(node)
|
40
40
|
return nil if node.nil?
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
41
|
+
hash = {}
|
42
|
+
node.children.each do |e|
|
43
|
+
unless e.kind_of?(Nokogiri::XML::Text) ||
|
44
|
+
e.name == 'cas:proxies' ||
|
45
|
+
e.name == 'proxies'
|
46
|
+
# There are no child elements
|
47
|
+
if e.element_children.count == 0
|
48
|
+
hash[e.name.sub(/^cas:/, '')] = e.content
|
49
|
+
elsif e.element_children.count
|
50
|
+
hash[e.name.sub(/^cas:/, '')] = [] if hash[e.name.sub(/^cas:/, '')].nil?
|
51
|
+
hash[e.name.sub(/^cas:/, '')].push parse_user_info e
|
52
|
+
end
|
46
53
|
end
|
47
|
-
hash
|
48
54
|
end
|
55
|
+
hash
|
49
56
|
end
|
50
57
|
|
51
58
|
# finds an `<cas:authenticationSuccess>` node in
|
data/lib/omniauth/version.rb
CHANGED
data/oa-enterprise.gemspec
CHANGED
@@ -3,7 +3,6 @@ require File.expand_path('../lib/omniauth/version', __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.add_runtime_dependency 'addressable', '2.2.4'
|
6
|
-
gem.add_runtime_dependency 'jruby-openssl', '~> 0.7.3' if RUBY_PLATFORM == 'java'
|
7
6
|
gem.add_runtime_dependency 'nokogiri', '~> 1.4.2'
|
8
7
|
gem.add_runtime_dependency 'net-ldap', '~> 0.2.2'
|
9
8
|
gem.add_runtime_dependency 'oa-core', OmniAuth::Version::STRING
|
@@ -15,7 +14,7 @@ Gem::Specification.new do |gem|
|
|
15
14
|
gem.add_development_dependency 'rake', '~> 0.8'
|
16
15
|
gem.add_development_dependency 'rspec', '~> 2.5'
|
17
16
|
gem.add_development_dependency 'webmock', '~> 1.6'
|
18
|
-
gem.add_development_dependency 'yard', '~> 0.
|
17
|
+
gem.add_development_dependency 'yard', '~> 0.7'
|
19
18
|
gem.add_development_dependency 'ZenTest', '~> 4.5'
|
20
19
|
gem.name = 'oa-enterprise'
|
21
20
|
gem.version = OmniAuth::Version::STRING
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require File.expand_path('../../../spec_helper', __FILE__)
|
2
|
+
require 'cgi'
|
3
|
+
|
4
|
+
describe OmniAuth::Strategies::LDAP, :type => :strategy do
|
5
|
+
|
6
|
+
include OmniAuth::Test::StrategyTestCase
|
7
|
+
|
8
|
+
def strategy
|
9
|
+
@ldap_server ||= 'ldap.example.org'
|
10
|
+
[OmniAuth::Strategies::LDAP, {
|
11
|
+
:host => @ldap_server,
|
12
|
+
:port => 636,
|
13
|
+
:method => :ssl,
|
14
|
+
:uid => 'jeremyf',
|
15
|
+
:base => 'o="University of OmniAuth", st=Sublime, c=RubyNation',
|
16
|
+
}]
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'GET /auth/ldap' do
|
20
|
+
before do
|
21
|
+
get '/auth/ldap'
|
22
|
+
end
|
23
|
+
|
24
|
+
# TODO: Add checks that page has authentication form; I attempted
|
25
|
+
# to use `should have_tag` but that was not working.
|
26
|
+
it 'should get authentication page' do
|
27
|
+
last_response.status.should == 200
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'POST /auth/ldap' do
|
32
|
+
before do
|
33
|
+
post '/auth/ldap', {:username => 'jeremy', :password => 'valid_password' }
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should redirect us to /auth/ldap/callback' do
|
37
|
+
last_response.should be_redirect
|
38
|
+
last_response.location.should == '/auth/ldap/callback'
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: oa-enterprise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- James A. Rosen
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-
|
16
|
+
date: 2011-05-20 00:00:00 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: addressable
|
@@ -56,7 +56,7 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.2.
|
59
|
+
version: 0.2.6
|
60
60
|
type: :runtime
|
61
61
|
version_requirements: *id004
|
62
62
|
- !ruby/object:Gem::Dependency
|
@@ -155,7 +155,7 @@ dependencies:
|
|
155
155
|
requirements:
|
156
156
|
- - ~>
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: "0.
|
158
|
+
version: "0.7"
|
159
159
|
type: :development
|
160
160
|
version_requirements: *id013
|
161
161
|
- !ruby/object:Gem::Dependency
|
@@ -185,6 +185,7 @@ files:
|
|
185
185
|
- .gemtest
|
186
186
|
- .rspec
|
187
187
|
- .yardopts
|
188
|
+
- Gemfile
|
188
189
|
- LICENSE
|
189
190
|
- README.rdoc
|
190
191
|
- Rakefile
|
@@ -200,6 +201,7 @@ files:
|
|
200
201
|
- spec/fixtures/cas_failure.xml
|
201
202
|
- spec/fixtures/cas_success.xml
|
202
203
|
- spec/omniauth/strategies/cas_spec.rb
|
204
|
+
- spec/omniauth/strategies/ldap_spec.rb
|
203
205
|
- spec/spec_helper.rb
|
204
206
|
homepage: http://github.com/intridea/omniauth
|
205
207
|
licenses: []
|
@@ -224,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
224
226
|
requirements: []
|
225
227
|
|
226
228
|
rubyforge_project:
|
227
|
-
rubygems_version: 1.
|
229
|
+
rubygems_version: 1.8.2
|
228
230
|
signing_key:
|
229
231
|
specification_version: 3
|
230
232
|
summary: Enterprise strategies for OmniAuth.
|
@@ -232,5 +234,5 @@ test_files:
|
|
232
234
|
- spec/fixtures/cas_failure.xml
|
233
235
|
- spec/fixtures/cas_success.xml
|
234
236
|
- spec/omniauth/strategies/cas_spec.rb
|
237
|
+
- spec/omniauth/strategies/ldap_spec.rb
|
235
238
|
- spec/spec_helper.rb
|
236
|
-
has_rdoc:
|