minnie-ldap 0.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/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ bin
6
+ vendor/bundle
7
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in minnie-ldap.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,33 @@
1
+ require 'net-ldap'
2
+
3
+ module Minnie
4
+ module User
5
+ module Ldap
6
+ extend ActiveSupport::Concern
7
+
8
+ module ClassMethods
9
+ def authenticate(username, password, domain = 'corp.ads')
10
+ if bind(username, password, domain)
11
+ return find_or_create_by_username username
12
+ else
13
+ return nil
14
+ end
15
+ end
16
+
17
+ def bind(username, password, domain)
18
+ ::Net::LDAP.new(
19
+ :auth => {
20
+ :method => :simple,
21
+ :username => "#{username}@#{domain}",
22
+ :password => password
23
+ },
24
+ :encryption => :simple_tls,
25
+ :base => domain.split('.').map {|dc| "dc=#{dc}"}.join(','),
26
+ :host => domain,
27
+ :port => '636'
28
+ ).bind
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,5 @@
1
+ module Minnie
2
+ module Ldap
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ require "minnie-ldap/version"
2
+
3
+ module Minnie
4
+ module User
5
+ autoload :Ldap, 'minnie/user/ldap'
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "minnie-ldap/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "minnie-ldap"
7
+ s.version = Minnie::Ldap::VERSION
8
+ s.authors = ["Michael McClenaghan"]
9
+ s.email = ["mike@sideline.ca"]
10
+ s.homepage = "https://github.com/mm53bar/minnie-ldap"
11
+ s.summary = %q{LDAP add-on to the simplest authentication possible}
12
+ s.description = %q{The simplest that LDAP authentication can get while still being useful}
13
+
14
+ s.rubyforge_project = "minnie-ldap"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_runtime_dependency "minnie"
22
+ s.add_runtime_dependency "net-ldap"
23
+ end
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: minnie-ldap
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michael McClenaghan
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-29 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: minnie
16
+ requirement: &70099399588520 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70099399588520
25
+ - !ruby/object:Gem::Dependency
26
+ name: net-ldap
27
+ requirement: &70099399587880 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70099399587880
36
+ description: The simplest that LDAP authentication can get while still being useful
37
+ email:
38
+ - mike@sideline.ca
39
+ executables: []
40
+ extensions: []
41
+ extra_rdoc_files: []
42
+ files:
43
+ - .gitignore
44
+ - Gemfile
45
+ - Rakefile
46
+ - lib/minnie-ldap.rb
47
+ - lib/minnie-ldap/version.rb
48
+ - lib/minnie/user/ldap.rb
49
+ - minnie-ldap.gemspec
50
+ homepage: https://github.com/mm53bar/minnie-ldap
51
+ licenses: []
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ segments:
63
+ - 0
64
+ hash: 1825668772832416839
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ segments:
72
+ - 0
73
+ hash: 1825668772832416839
74
+ requirements: []
75
+ rubyforge_project: minnie-ldap
76
+ rubygems_version: 1.8.7
77
+ signing_key:
78
+ specification_version: 3
79
+ summary: LDAP add-on to the simplest authentication possible
80
+ test_files: []