Skip to content

Commit

Permalink
Merge pull request #16386 from jvlcek/BZ_1505922_api_pop_up
Browse files Browse the repository at this point in the history
External auth lookup_by_identity should handle missing request parameter
(cherry picked from commit a03cda1)

https://bugzilla.redhat.com/show_bug.cgi?id=1509416
  • Loading branch information
abellotti authored and simaishi committed Nov 6, 2017
1 parent e79f308 commit 3529133
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
14 changes: 8 additions & 6 deletions app/models/authenticator/httpd.rb
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,15 @@ def find_or_initialize_user(identity, username)
[upn_username, user]
end

def lookup_by_identity(username, request)
user_attrs, _membership_list = user_details_from_headers(username, request)
upn_username = "#{user_attrs[:username]}@#{user_attrs[:domain]}".downcase
def lookup_by_identity(username, request = nil)
if request
user_attrs, _membership_list = user_details_from_headers(username, request)
upn_username = "#{user_attrs[:username]}@#{user_attrs[:domain]}".downcase

user = find_userid_as_upn(upn_username)
user ||= find_userid_as_distinguished_name(user_attrs)
user || case_insensitive_find_by_userid(username)
user = find_userid_as_upn(upn_username)
user ||= find_userid_as_distinguished_name(user_attrs)
end
user || case_insensitive_find_by_userid(username)
end

private
Expand Down
4 changes: 4 additions & 0 deletions spec/models/authenticator/httpd_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@

let(:username) { 'cheshire' }

it "Handles missing request parameter" do
expect(subject.lookup_by_identity('alice')).to eq(alice)
end

it "finds existing users as username" do
expect(subject.lookup_by_identity('alice', request)).to eq(alice)
end
Expand Down

0 comments on commit 3529133

Please sign in to comment.