anchor.diff:        {_, <<"authorization_code">>} ->
           authorization_code_flow_stage2(Req, State);
         {_, <<"password">>} ->
  -        resource_owner_password_credentials_flow(Req, State);
  +        password_credentials_flow(Req, State);
         {_, <<"client_credentials">>} ->
           client_credentials_flow(Req, State);
         _ ->
  
positive.code:   {_, Value} = lists:keyfind(Key, 1, List),
    Value.
  
  urlencode(undefined) ->
    <<>>;
  urlencode(Bin) when is_binary(Bin) ->
    cowboy_http:urlencode(Bin);
  urlencode(Atom) when is_atom(Atom) ->
    urlencode(atom_to_binary(Atom, latin1));
  urlencode(Int) when is_integer(Int) ->
    urlencode(list_to_binary(integer_to_list(Int)));
  urlencode(List) when is_list(List) ->
    urlencode(List, <<>>).
  urlencode([], Acc) ->
    Acc;
  urlencode([{K, V} | T], <<>>) ->
    urlencode(T, << (urlencode(K))/binary, $=, (urlencode(V))/binary >>);
  urlencode([{K, V} | T], Acc) ->
    urlencode(T, << Acc/binary, $&,
      (urlencode(K))/binary, $=, (urlencode(V))/binary >>).
  
  %%
  %%------------------------------------------------------------------------------
  
negative.code: %%
  %% Request access token for a resource owner.
  %%
  password_credentials_flow(Req, State = #state{
      data = Data, options = Opts
    }) ->
    % @todo ensure scheme is https
  