anchor.diff:  auth_info(Req, State) ->
     {authorized, Req, State}.
   
  -%% If we get here, are we guarenteed the user exists?
  -resource_exists(Req, State) ->
  -  {true, Req, State}.
  -
  -from_json(Req, #base_state{reqid = RequestId,
  -                           resource_state = #user_state{user_data = UserData,
  -                           user_authz_id = AuthzId}} = State) ->
  +process_post(Req, #base_state{chef_db_context = DbContext,
  +                              resource_state =
  +                                  #user_state{user_data = UserData}} = State) ->
       Name = ej:get({<<"name">>}, UserData),
  +    Verified = case chef_db:fetch_user(DbContext, Name) of
  +                   not_found ->
  +                       false;
  +                   #chef_user{hashed_password = HashedPass,
  +                              salt = Salt,
  +                              hash_type = HashType} = XUser ->
  +                       Password = ej:get({<<"password">>}, UserData),
  +                       chef_wm_password:verify(Password, {HashedPass, Salt, HashType})
  +               end,
       Ejson = {[{<<"name">>, Name},
  -            {<<"verified">>, true}
  -        ]},
  +              {<<"verified">>, Verified}
  +             ]},
       {true, chef_wm_util:set_json_body(Req, Ejson), State}.
   
  -process_post(Req, #base_state{reqid = RequestId,
  -                           resource_state = #user_state{user_data = UserData,
  -                           user_authz_id = AuthzId}} = State) ->
  -    Name = ej:get({<<"name">>}, UserData),
  -    Ejson = {[{<<"name">>, Name},
  -            {<<"verified">>, true}
  -        ]},
  -    {true, chef_wm_util:set_json_body(Req, Ejson), State}.
  -
  +malformed_request_message(#ej_invalid{}, _Req, _State) ->
  +    Msg = <<"invalid user authentication request">>,
  +    chef_wm_util:error_message_envelope(Msg).
  
positive.code: 
  -include("chef_wm.hrl").
  
  -mixin([{chef_wm_base, [content_types_accepted/2,
                          content_types_provided/2,
                          finish_request/2,
                          malformed_request/2,
                          ping/2 ]}]).
  
negative.code: -mixin([{?BASE_RESOURCE, [ service_available/2 ]}]).
  
  -behavior(chef_wm).
  -export([
           auth_info/2,
           init/1,
           init_resource_state/1,
           malformed_request_message/3,
           request_type/0,
           validate_request/3]).
  
  -export([allowed_methods/2,
           process_post/2]).
  
  init(Config) ->
  