devise_ldap_authenticatable 0.8.6 → 0.8.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 32d0f8a193c1b3669af1a6f2271f62a750bc2d49
4
- data.tar.gz: afefa657196cbbccd64b415f0549d40779647427
2
+ SHA256:
3
+ metadata.gz: 7044550949ddebd6ea7cc11cf8ed2256b892f2c27dd2fc316a7c5a2b4bdcf685
4
+ data.tar.gz: ba36af309f585a37a6e2775810b62bc95a4c5d4203e9b2f7d174418c20a39e07
5
5
  SHA512:
6
- metadata.gz: '029eeaad644b3d7026039cc535f15e0e280ad1af4a9e7af803e638c7f6861b8abd5fdf81c0ada09d4164a82fe00ab2569594b9fb06c04f18e904eadd67eb970c'
7
- data.tar.gz: 430fd5c92a054178f1a209fba7673fb8e578b70c718b4aaf047131fdc9f591979db4bdf5d30dd2e0d2ea63b37cc231bf53d738ed363963af3353e3382000b91a
6
+ metadata.gz: d076e9ed84c61fc77dfd9f7006b594a2c841a600491d3b0c92d5bde42832b4df3324ebbb6df447221078f3d0dd5b91540d2882cec2c1e9d41bc5c84117a019e6
7
+ data.tar.gz: 9f2f642e37bf8a51db04a01aa58d93f96ceea8daf91ef7b0af3e0357c5289962c4e583aef57fb10a1f496b55d54012176b42086a3e417e482932733ace47b40f
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  Devise LDAP Authenticatable
2
2
  ===========================
3
- [![Gem Version](https://badge.fury.io/rb/devise_ldap_authenticatable.png)](http://badge.fury.io/rb/devise_ldap_authenticatable)
4
- [![Code Climate](https://codeclimate.com/github/cschiewek/devise_ldap_authenticatable.png)](https://codeclimate.com/github/cschiewek/devise_ldap_authenticatable)
5
- [![Dependency Status](https://gemnasium.com/cschiewek/devise_ldap_authenticatable.png)](https://gemnasium.com/cschiewek/devise_ldap_authenticatable)
3
+
4
+ [![Gem Version](https://badge.fury.io/rb/devise_ldap_authenticatable.svg)](http://badge.fury.io/rb/devise_ldap_authenticatable)
5
+ [![Code Climate](https://codeclimate.com/github/cschiewek/devise_ldap_authenticatable.svg)](https://codeclimate.com/github/cschiewek/devise_ldap_authenticatable)
6
6
 
7
7
  Devise LDAP Authenticatable is a LDAP based authentication strategy for the [Devise](http://github.com/plataformatec/devise) authentication framework.
8
8
 
@@ -25,12 +25,14 @@ Usage
25
25
  -----
26
26
  In the Gemfile for your application:
27
27
 
28
- gem "devise_ldap_authenticatable"
29
-
28
+ ```ruby
29
+ gem "devise_ldap_authenticatable"
30
+ ```
30
31
  To get the latest version, pull directly from github instead of the gem:
31
32
 
32
- gem "devise_ldap_authenticatable", :git => "git://github.com/cschiewek/devise_ldap_authenticatable.git"
33
-
33
+ ```ruby
34
+ gem "devise_ldap_authenticatable", :git => "git://github.com/cschiewek/devise_ldap_authenticatable.git"
35
+ ```
34
36
 
35
37
  Setup
36
38
  -----
@@ -61,9 +63,11 @@ Given that `ldap_create_user` is set to true and you are authenticating with use
61
63
 
62
64
  in your user model you have to simply define `ldap_before_save` method:
63
65
 
64
- def ldap_before_save
65
- self.email = Devise::LDAP::Adapter.get_ldap_param(self.username,"mail").first
66
- end
66
+ ```ruby
67
+ def ldap_before_save
68
+ self.email = Devise::LDAP::Adapter.get_ldap_param(self.username,"mail").first
69
+ end
70
+ ```
67
71
 
68
72
  Configuration
69
73
  -------------
@@ -99,7 +103,7 @@ These parameters will be added to `config/initializers/devise.rb` when you pass
99
103
 
100
104
  Troubleshooting
101
105
  --------------
102
- **Using a "username" instead of an "email":** The field that is used for logins is the first key that's configured in the `config/initializers/devise.rb` file under `config.authentication_keys`, which by default is email. For help changing this, please see the [Railscast](http://railscasts.com/episodes/210-customizing-devise) that goes through how to customize Devise. Also, this [documentation](https://github.com/plataformatec/devise/wiki/How-To%3a-Allow-users-to-sign-in-using-their-username-or-email-address) from Devise can very helpful.
106
+ **Using a "username" instead of an "email":** The field that is used for logins is the first key that's configured in the `config/initializers/devise.rb` file under `config.authentication_keys`, which by default is email. For help changing this, please see the [Railscast](http://railscasts.com/episodes/210-customizing-devise) that goes through how to customize Devise. Also, this [documentation](https://github.com/plataformatec/devise/wiki/How-To%3a-Allow-users-to-sign-in-using-their-username-or-email-address) from Devise can be very helpful.
103
107
 
104
108
  **SSL certificate invalid:** If you're using a test LDAP server running a self-signed SSL certificate, make sure the appropriate root certificate is installed on your system. Alternately, you may temporarily disable certificate checking for SSL by modifying your system LDAP configuration (e.g., `/etc/openldap/ldap.conf` or `/etc/ldap/ldap.conf`) to read `TLS_REQCERT never`.
105
109
 
@@ -10,8 +10,11 @@ module Devise
10
10
  ldap_config = YAML.load(ERB.new(File.read(::Devise.ldap_config || "#{Rails.root}/config/ldap.yml")).result)[Rails.env]
11
11
  end
12
12
  ldap_options = params
13
+
14
+ # Allow `ssl: true` shorthand in YAML, but enable more control with `encryption`
13
15
  ldap_config["ssl"] = :simple_tls if ldap_config["ssl"] === true
14
16
  ldap_options[:encryption] = ldap_config["ssl"].to_sym if ldap_config["ssl"]
17
+ ldap_options[:encryption] = ldap_config["encryption"] if ldap_config["encryption"]
15
18
 
16
19
  @ldap = Net::LDAP.new(ldap_options)
17
20
  @ldap.host = ldap_config["host"]
@@ -1,3 +1,3 @@
1
1
  module DeviseLdapAuthenticatable
2
- VERSION = "0.8.6".freeze
2
+ VERSION = "0.8.7".freeze
3
3
  end
@@ -1,4 +1,4 @@
1
- class DeviseCreateUsers < ActiveRecord::Migration
1
+ class DeviseCreateUsers < ActiveRecord::Migration[5.1]
2
2
  def self.up
3
3
  create_table(:users) do |t|
4
4
  ## Database authenticatable
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  # This file is auto-generated from the current state of the database. Instead
3
2
  # of editing this file, please use the migrations feature of Active Record to
4
3
  # incrementally modify your database, and then regenerate this schema definition.
@@ -13,23 +12,22 @@
13
12
 
14
13
  ActiveRecord::Schema.define(version: 20100708120448) do
15
14
 
16
- create_table "users", force: true do |t|
17
- t.string "email", default: "", null: false
18
- t.string "encrypted_password", default: "", null: false
19
- t.string "reset_password_token"
15
+ create_table "users", force: :cascade do |t|
16
+ t.string "email", default: "", null: false
17
+ t.string "encrypted_password", default: "", null: false
18
+ t.string "reset_password_token"
20
19
  t.datetime "reset_password_sent_at"
21
20
  t.datetime "remember_created_at"
22
- t.integer "sign_in_count", default: 0
21
+ t.integer "sign_in_count", default: 0
23
22
  t.datetime "current_sign_in_at"
24
23
  t.datetime "last_sign_in_at"
25
- t.string "current_sign_in_ip"
26
- t.string "last_sign_in_ip"
27
- t.string "uid"
28
- t.datetime "created_at"
29
- t.datetime "updated_at"
24
+ t.string "current_sign_in_ip"
25
+ t.string "last_sign_in_ip"
26
+ t.string "uid"
27
+ t.datetime "created_at", null: false
28
+ t.datetime "updated_at", null: false
29
+ t.index ["email"], name: "index_users_on_email", unique: true
30
+ t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
30
31
  end
31
32
 
32
- add_index "users", ["email"], name: "index_users_on_email", unique: true
33
- add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
34
-
35
33
  end
@@ -12,6 +12,24 @@ describe 'Connection' do
12
12
  expect(connection.ldap.base).to eq('ou=testbase,dc=test,dc=com')
13
13
  end
14
14
 
15
+ it 'allows encryption options to be set in ldap_config' do
16
+ ::Devise.ldap_config = Proc.new() {{
17
+ 'host' => 'localhost',
18
+ 'port' => 3389,
19
+ 'base' => 'ou=testbase,dc=test,dc=com',
20
+ 'attribute' => 'cn',
21
+ 'encryption' => {
22
+ :method => :simple_tls,
23
+ :tls_options => OpenSSL::SSL::SSLContext::DEFAULT_PARAMS
24
+ }
25
+ }}
26
+ connection = Devise::LDAP::Connection.new()
27
+ expect(connection.ldap.instance_variable_get(:@encryption)).to eq({
28
+ :method => :simple_tls,
29
+ :tls_options => OpenSSL::SSL::SSLContext::DEFAULT_PARAMS
30
+ })
31
+ end
32
+
15
33
  class TestOpResult
16
34
  attr_accessor :error_message
17
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_ldap_authenticatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.6
4
+ version: 0.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Curtis Schiewek
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-02-13 00:00:00.000000000 Z
13
+ date: 2020-07-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: devise
@@ -293,80 +293,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
293
293
  - !ruby/object:Gem::Version
294
294
  version: '0'
295
295
  requirements: []
296
- rubyforge_project:
297
- rubygems_version: 2.6.11
296
+ rubygems_version: 3.1.2
298
297
  signing_key:
299
298
  specification_version: 4
300
299
  summary: Devise extension to allow authentication via LDAP
301
- test_files:
302
- - spec/ldap/.gitignore
303
- - spec/ldap/base.ldif
304
- - spec/ldap/clear.ldif
305
- - spec/ldap/local.schema
306
- - spec/ldap/openldap-data/.gitignore
307
- - spec/ldap/openldap-data/run/.gitignore
308
- - spec/ldap/openldap-data/run/.gitkeep
309
- - spec/ldap/run-server
310
- - spec/ldap/server.pem
311
- - spec/ldap/slapd-test.conf.erb
312
- - spec/rails_app/Rakefile
313
- - spec/rails_app/app/controllers/application_controller.rb
314
- - spec/rails_app/app/controllers/posts_controller.rb
315
- - spec/rails_app/app/helpers/application_helper.rb
316
- - spec/rails_app/app/helpers/posts_helper.rb
317
- - spec/rails_app/app/models/post.rb
318
- - spec/rails_app/app/models/user.rb
319
- - spec/rails_app/app/views/layouts/application.html.erb
320
- - spec/rails_app/app/views/posts/index.html.erb
321
- - spec/rails_app/config.ru
322
- - spec/rails_app/config/application.rb
323
- - spec/rails_app/config/boot.rb
324
- - spec/rails_app/config/cucumber.yml
325
- - spec/rails_app/config/database.yml
326
- - spec/rails_app/config/environment.rb
327
- - spec/rails_app/config/environments/development.rb
328
- - spec/rails_app/config/environments/production.rb
329
- - spec/rails_app/config/environments/test.rb
330
- - spec/rails_app/config/initializers/backtrace_silencers.rb
331
- - spec/rails_app/config/initializers/devise.rb
332
- - spec/rails_app/config/initializers/inflections.rb
333
- - spec/rails_app/config/initializers/mime_types.rb
334
- - spec/rails_app/config/initializers/secret_token.rb
335
- - spec/rails_app/config/initializers/session_store.rb
336
- - spec/rails_app/config/ldap.yml
337
- - spec/rails_app/config/ldap_with_boolean_ssl.yml
338
- - spec/rails_app/config/ldap_with_erb.yml
339
- - spec/rails_app/config/ldap_with_uid.yml
340
- - spec/rails_app/config/locales/devise.en.yml
341
- - spec/rails_app/config/locales/en.yml
342
- - spec/rails_app/config/routes.rb
343
- - spec/rails_app/config/ssl_ldap.yml
344
- - spec/rails_app/config/ssl_ldap_with_erb.yml
345
- - spec/rails_app/config/ssl_ldap_with_uid.yml
346
- - spec/rails_app/db/migrate/20100708120448_devise_create_users.rb
347
- - spec/rails_app/db/schema.rb
348
- - spec/rails_app/features/manage_logins.feature
349
- - spec/rails_app/features/step_definitions/login_steps.rb
350
- - spec/rails_app/features/step_definitions/web_steps.rb
351
- - spec/rails_app/features/support/env.rb
352
- - spec/rails_app/features/support/paths.rb
353
- - spec/rails_app/lib/tasks/.gitkeep
354
- - spec/rails_app/lib/tasks/cucumber.rake
355
- - spec/rails_app/public/404.html
356
- - spec/rails_app/public/422.html
357
- - spec/rails_app/public/500.html
358
- - spec/rails_app/public/images/rails.png
359
- - spec/rails_app/public/javascripts/application.js
360
- - spec/rails_app/public/javascripts/controls.js
361
- - spec/rails_app/public/javascripts/dragdrop.js
362
- - spec/rails_app/public/javascripts/effects.js
363
- - spec/rails_app/public/javascripts/prototype.js
364
- - spec/rails_app/public/javascripts/rails.js
365
- - spec/rails_app/public/stylesheets/.gitkeep
366
- - spec/rails_app/script/cucumber
367
- - spec/rails_app/script/rails
368
- - spec/spec_helper.rb
369
- - spec/support/factories.rb
370
- - spec/unit/adapter_spec.rb
371
- - spec/unit/connection_spec.rb
372
- - spec/unit/user_spec.rb
300
+ test_files: []