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