diff options
author | John Keiser <jkeiser@opscode.com> | 2014-08-20 12:58:31 -0700 |
---|---|---|
committer | John Keiser <jkeiser@opscode.com> | 2014-08-22 09:20:50 -0700 |
commit | f16071f7f666bd16991344505841be30a036d81b (patch) | |
tree | 72ca522adcbedfd6111457273fd0ae5d025d76cf | |
parent | fb4f17f271fd68edb05617ba9725dee6cdb58027 (diff) | |
download | chef-zero-f16071f7f666bd16991344505841be30a036d81b.tar.gz |
Get principals endpoint passing oc_chef_pedant
-rw-r--r-- | lib/chef_zero/endpoints/system_recovery_endpoint.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/chef_zero/endpoints/system_recovery_endpoint.rb b/lib/chef_zero/endpoints/system_recovery_endpoint.rb index 066a493..cc7d760 100644 --- a/lib/chef_zero/endpoints/system_recovery_endpoint.rb +++ b/lib/chef_zero/endpoints/system_recovery_endpoint.rb @@ -9,9 +9,13 @@ module ChefZero request_json = JSON.parse(request.body, :create_additions => false) name = request_json['username'] password = request_json['password'] - user = get_data(request, request.rest_path[0..-2] + ['users', name]) + user = get_data(request, request.rest_path[0..-2] + ['users', name], :nil) + if !user + raise RestErrorResponse.new(403, "Nonexistent user") + end + user = JSON.parse(user, :create_additions => false) - user = DataNormalizer.normalize_user(user, name, 'username') + user = DataNormalizer.normalize_user(user, name, [ 'username' ]) if !user['recovery_authentication_enabled'] raise RestErrorResponse.new(403, "Only users with recovery_authentication_enabled=true may use /system_recovery to log in") end |