如何使用Volley实现摘要身份验证?

10

有谁能帮我使用Google Volley实现摘要身份验证来调用Web服务(REST)。

基本上,Volley使用SHA1身份验证(基本身份验证),但是否有方法可以修改为摘要身份验证(MD5)。


4
你看过这个吗?http://www.java2s.com/Open-Source/Android_Free_Code/Framework/platform/com_gm_android_volleyHttpDigestStack_java.htm? - Carlos
感谢@Liberi分享链接,我还没有检查过,我会去看一下的 :) - Naitik
2个回答

2

两种HTTP身份验证都使用简单的标头实体。我自己没有尝试过这个,但我认为你需要做的就是在你的自定义请求中提供具有摘要特定格式的标头,就像这样:

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

1
除非我理解错了什么... 这个解决方案使用了 BaseHttpStack 中一个已弃用的方法 (performRequest)。 Volley 的建议是使用 executeRequest 替代。 - Charles Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接