From 08a9d422448b5bfc65390155a6742ce15259525b Mon Sep 17 00:00:00 2001 From: Sylvain Allemand Date: Tue, 30 Apr 2024 14:12:26 +0200 Subject: [PATCH 1/7] ajout support email --- config/settings.yml | 2 ++ plugin.rb | 1 + 2 files changed, 3 insertions(+) diff --git a/config/settings.yml b/config/settings.yml index 2715329..fac74f6 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -15,6 +15,8 @@ plugins: default: 'dc=example,dc=com' ldap_uid: default: 'sAMAccountName' + ldap_email: + default: 'mail' ldap_bind_dn: default: '' ldap_password: diff --git a/plugin.rb b/plugin.rb index 88fdfbd..cb0972a 100644 --- a/plugin.rb +++ b/plugin.rb @@ -36,6 +36,7 @@ def register_middleware(omniauth) method: SiteSetting.ldap_method, base: SiteSetting.ldap_base, uid: SiteSetting.ldap_uid, + email: SiteSetting.ldap_email, # In 0.3.0, we fixed a typo in the ldap_bind_dn config name. This fallback will be removed in a future version. bind_dn: SiteSetting.ldap_bind_dn.presence || SiteSetting.try(:ldap_bind_db), password: SiteSetting.ldap_password, From 1004b84b220c50ba82fa5485e2c015a0a2550c17 Mon Sep 17 00:00:00 2001 From: Sylvain Allemand Date: Tue, 30 Apr 2024 15:46:07 +0200 Subject: [PATCH 2/7] test 1 --- plugin.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugin.rb b/plugin.rb index cb0972a..632382c 100644 --- a/plugin.rb +++ b/plugin.rb @@ -7,8 +7,8 @@ gem 'pyu-ruby-sasl', '0.0.3.3', require: false gem 'rubyntlm', '0.3.4', require: false -gem 'net-ldap', '0.17.1' -gem 'omniauth-ldap', '1.0.5' +gem 'net-ldap', '0.19.0' +gem 'omniauth-ldap', '2.0.0' require 'yaml' require_relative 'lib/ldap_user' @@ -23,6 +23,9 @@ def enabled? end def after_authenticate(auth_options) + puts "COUCOU" + puts auth_options.info + puts auth_options.extra return auth_result(auth_options.info) end @@ -36,12 +39,14 @@ def register_middleware(omniauth) method: SiteSetting.ldap_method, base: SiteSetting.ldap_base, uid: SiteSetting.ldap_uid, - email: SiteSetting.ldap_email, # In 0.3.0, we fixed a typo in the ldap_bind_dn config name. This fallback will be removed in a future version. bind_dn: SiteSetting.ldap_bind_dn.presence || SiteSetting.try(:ldap_bind_db), password: SiteSetting.ldap_password, filter: SiteSetting.ldap_filter ) + env["omniauth.strategy"].config.merge!( + email: SiteSetting.ldap_email + ) } end From 3e61337ae5a1233ed551b59f5cbc54708db00998 Mon Sep 17 00:00:00 2001 From: Sylvain Allemand Date: Tue, 30 Apr 2024 15:46:39 +0200 Subject: [PATCH 3/7] test 2 --- plugin.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugin.rb b/plugin.rb index 632382c..a57290e 100644 --- a/plugin.rb +++ b/plugin.rb @@ -44,9 +44,6 @@ def register_middleware(omniauth) password: SiteSetting.ldap_password, filter: SiteSetting.ldap_filter ) - env["omniauth.strategy"].config.merge!( - email: SiteSetting.ldap_email - ) } end From b24944eaed559f55f981d790baa54f493726ca4e Mon Sep 17 00:00:00 2001 From: Sylvain Allemand Date: Tue, 30 Apr 2024 16:35:26 +0200 Subject: [PATCH 4/7] surchage de l'email --- config/settings.yml | 2 +- plugin.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/settings.yml b/config/settings.yml index fac74f6..b7f7dc8 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -16,7 +16,7 @@ plugins: ldap_uid: default: 'sAMAccountName' ldap_email: - default: 'mail' + default: 'email' ldap_bind_dn: default: '' ldap_password: diff --git a/plugin.rb b/plugin.rb index a57290e..0caafaa 100644 --- a/plugin.rb +++ b/plugin.rb @@ -23,9 +23,9 @@ def enabled? end def after_authenticate(auth_options) - puts "COUCOU" - puts auth_options.info - puts auth_options.extra + if SiteSetting.ldap_email != 'email' + auth_options.info[:email] = auth_options.extra[:raw_info][SiteSetting.ldap_email].first() + end return auth_result(auth_options.info) end From bfd09e42af9eac6a7bd14219ed30aff5c4ceb880 Mon Sep 17 00:00:00 2001 From: Sylvain Allemand Date: Tue, 30 Apr 2024 17:34:45 +0200 Subject: [PATCH 5/7] modif version omniauth-ldap --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 0caafaa..ac4efcb 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ gem 'pyu-ruby-sasl', '0.0.3.3', require: false gem 'rubyntlm', '0.3.4', require: false gem 'net-ldap', '0.19.0' -gem 'omniauth-ldap', '2.0.0' +gem 'omniauth-ldap', '1.0.5' require 'yaml' require_relative 'lib/ldap_user' From d8929f28e2114cdbc66c473fb5aeac5ba497e562 Mon Sep 17 00:00:00 2001 From: Allemand Sylvain Date: Fri, 29 Nov 2024 12:28:38 +0100 Subject: [PATCH 6/7] ajout title --- config/settings.yml | 2 ++ plugin.rb | 1 + 2 files changed, 3 insertions(+) diff --git a/config/settings.yml b/config/settings.yml index b7f7dc8..61ea069 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -1,4 +1,6 @@ plugins: + title: + default: 'LDAP Authentication' ldap_enabled: default: true ldap_user_create_mode: diff --git a/plugin.rb b/plugin.rb index ac4efcb..7f309b9 100644 --- a/plugin.rb +++ b/plugin.rb @@ -34,6 +34,7 @@ def register_middleware(omniauth) omniauth.provider :ldap, setup: -> (env) { env["omniauth.strategy"].options.merge!( + title: SiteSetting.title, host: SiteSetting.ldap_hostname, port: SiteSetting.ldap_port, method: SiteSetting.ldap_method, From 262067744a164abc1ce2347fa1faae2539625515 Mon Sep 17 00:00:00 2001 From: Allemand Sylvain Date: Mon, 2 Dec 2024 09:27:45 +0100 Subject: [PATCH 7/7] modif title par ldap_title --- config/settings.yml | 2 +- plugin.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/settings.yml b/config/settings.yml index 61ea069..efdeeec 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -1,5 +1,5 @@ plugins: - title: + ldap_title: default: 'LDAP Authentication' ldap_enabled: default: true diff --git a/plugin.rb b/plugin.rb index 7f309b9..0b7537c 100644 --- a/plugin.rb +++ b/plugin.rb @@ -34,7 +34,7 @@ def register_middleware(omniauth) omniauth.provider :ldap, setup: -> (env) { env["omniauth.strategy"].options.merge!( - title: SiteSetting.title, + title: SiteSetting.ldap_title, host: SiteSetting.ldap_hostname, port: SiteSetting.ldap_port, method: SiteSetting.ldap_method,