Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to implement digest authentication using volley?

Any one can help me for implement digest authentication using Google Volley for web service calling (REST).

basically Volley is using SHA1 authentication(Basic Auth), But is there any way to modify with digest Auth (MD5).

like image 609
Naitik Avatar asked Dec 16 '15 06:12

Naitik


2 Answers

Both HTTP-authentications use simple header entities. I have not tried this by myself, but i assume all you need to implement is to provide header with Digest-specific format in your custom request like this:

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;
    }
...
}

I hope it'll help you

like image 67
The Dreams Wind Avatar answered Nov 16 '22 22:11

The Dreams Wind


The best solution for you is, indeed, use the HttpDigestStack. You can find the docs right here: http://www.java2s.com/Open-Source/Android_Free_Code/Framework/platform/com_gm_android_volleyHttpDigestStack_java.htm

All you have to do is to provide a new instance of a HttpDigestStack as an additional parameter when creating a new RequestQueue using Volley. You can follow this example:

Volley.newRequestQueue(context, new HttpDigestStack());
like image 32
Renan Scarela Avatar answered Nov 16 '22 20:11

Renan Scarela