Usar OAuth com Volley

3 respostas
R

Como posso fazer uma requisição a um WebService que usa OAuth como segurança, sendo que uso a API Volley no Android ??

3 Respostas

FelipeTorres

Não sei qual parte você precisa de ajuda: para fazer o OAuth no Android ou somente a request em si usando Volley.

Caso seja tudo, dê uma olhada no post do Udi Cohen sobre OAuth no Android. Deixei marcado a parte onde é criada uma asyncTask para fazer o sign in. Como você está usando Volley seria basicamente adaptar esse trecho do código. Dê uma olhada nessa parte da documentação do Volley para entender como ele funciona.

R

Então, minha requisição Volley faço assim:

public void executeGet(final TransactionGet transaction, String tag, String url, final String header) {
    transaction.doBefore();

    StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            if (response != null && response.length() > 0) {
                TaskGet taskGet = new TaskGet(response);
                taskGet.execute(transaction);
            } else {
                transaction.doAfter(null);
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            String mensagemErro;
            if (error instanceof TimeoutError) {
                mensagemErro = "Tempo limite de conexão estourou!";
            } else {
                mensagemErro = "Erro ao conectar com servidor!";
            }
            removerElem();
            fecharProgress();
            transaction.doAfterErro(mensagemErro);
        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> headers = new HashMap<String, String>();
            if (header != null) {
                headers.put("comanda", header);
            }
            return headers;
        }
    };

    request.setTag(tag);

    request.setRetryPolicy(new DefaultRetryPolicy(60000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

    addRequestQueue(request);
}

Minha dúvida é que vou implementar o OAuth no servidor, ai não sei como vou fazer a autenticação no Volley

FelipeTorres

Então, dá uma olhada na doc do Volley, que pode ser útil.

Criado 6 de janeiro de 2016
Ultima resposta 22 de fev. de 2016
Respostas 3
Participantes 2