From fab3b479c9015b8c6e0187099cbb63b0fedc7c47 Mon Sep 17 00:00:00 2001 From: Ahmad Farhat Date: Wed, 1 Apr 2020 10:43:27 -0400 Subject: [PATCH] Fixed issue with duplicate roles from LDAP sigin (#1090) Co-authored-by: Jesus Federico --- app/models/concerns/auth_values.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/models/concerns/auth_values.rb b/app/models/concerns/auth_values.rb index 0c35fb21..927c299e 100644 --- a/app/models/concerns/auth_values.rb +++ b/app/models/concerns/auth_values.rb @@ -57,13 +57,14 @@ module AuthValues end def auth_roles(user, auth) + auth['info']['roles'] = "Viewer" unless auth['info']['roles'].nil? roles = auth['info']['roles'].split(',') role_provider = auth['provider'] == "bn_launcher" ? auth['info']['customer'] : "greenlight" roles.each do |role_name| - role = Role.where(provider: role_provider, name: role_name).first - user.roles << role unless role.nil? + role = Role.find_by(provider: role_provider, name: role_name) + user.roles << role if !role.nil? && !user.has_role?(role_name) end end end