lib/omniauth/strategies/chef.rb in omniauth-chef-0.1.2 vs lib/omniauth/strategies/chef.rb in omniauth-chef-0.2.0

- old
+ new

@@ -57,10 +57,20 @@ protected def authenticated_user begin - chef.post_rest(resource, username: username, password: password)['user'] + uname = username + # Check if username is email + if (uname.include?('@')) + users = chef.get_rest( + "users?#{{ email: username }.to_query}" + ) + if (users.length > 0) + uname = users.first[0] + end + end + chef.post_rest(resource, username: uname, password: password)['user'] rescue Net::HTTPServerException end end