Подтвердить что ты не робот

Как реализовать дайджест-аутентификацию с помощью залпа?

Любой может помочь мне выполнить проверку дайджеста с помощью Google Volley для вызова веб-службы (REST).

В основном Volley использует аутентификацию SHA1 (Basic Auth), но есть ли способ изменения с помощью дайджест Auth (MD5).

4b9b3361

Ответ 1

Обе HTTP-аутентификации используют простые объекты заголовка. Я не пробовал это самостоятельно, но я предполагаю, что все, что вам нужно реализовать, - это предоставить заголовок с форматом Digest в вашем пользовательском запросе следующим образом:

public class MyRequest<T> extends Request<T> {
...
    @Override
    public Map<String,String> getHeaders() throws AuthFailureError {
        Map<String,String> headers = new HashMap<String,String>();
        headers.put("Authorization", "Digest " + getAuthorizationData());   
        return headers;
    }
...
}

Я надеюсь, что это поможет вам

Ответ 2

Лучшим решением для вас является использование HttpDigestStack. Вы можете найти документы прямо здесь: http://www.java2s.com/Open-Source/Android_Free_Code/Framework/platform/com_gm_android_volleyHttpDigestStack_java.htm

Все, что вам нужно сделать, - предоставить новый экземпляр HttpDigestStack в качестве дополнительного параметра при создании нового RequestQueue с помощью Volley. Вы можете следовать этому примеру:

Volley.newRequestQueue(context, new HttpDigestStack());