summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2014-08-20 10:37:10 -0700
committerJohn Keiser <jkeiser@opscode.com>2014-08-22 09:20:49 -0700
commit21d87873e784f97aad21d92eeef9b3a059e16b67 (patch)
treedcf2082bd31b51581efa1a281c29843fcf47cc24
parente7f99fb5214ab2b59fc5dc798e1036e12e26c88d (diff)
downloadchef-zero-21d87873e784f97aad21d92eeef9b3a059e16b67.tar.gz
Get authenticate_user working
-rw-r--r--lib/chef_zero/endpoints/authenticate_user_endpoint.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/chef_zero/endpoints/authenticate_user_endpoint.rb b/lib/chef_zero/endpoints/authenticate_user_endpoint.rb
index b24a8ab..3194a69 100644
--- a/lib/chef_zero/endpoints/authenticate_user_endpoint.rb
+++ b/lib/chef_zero/endpoints/authenticate_user_endpoint.rb
@@ -7,18 +7,20 @@ module ChefZero
class AuthenticateUserEndpoint < RestBase
def post(request)
request_json = JSON.parse(request.body, :create_additions => false)
- name = request_json['name']
+ name = request_json['username']
password = request_json['password']
begin
- user = data_store.get(request.rest_path[0..-2] + ['users', name])
+ user = data_store.get(['users', name])
rescue ChefZero::DataStore::DataNotFoundError
raise RestErrorResponse.new(401, "Bad username or password")
end
user = JSON.parse(user, :create_additions => false)
- user = DataNormalizer.normalize_user(user, name, 'username')
+ user = DataNormalizer.normalize_user(user, name, [ 'username' ])
if user['password'] != password
raise RestErrorResponse.new(401, "Bad username or password")
end
+ # Include only particular user data in the response
+ user.keep_if { |key,value| %w(first_name last_name display_name email username).include?(key) }
json_response(200, {
'status' => 'linked',
'user' => user