【问题标题】:how to implement digest authentication using volley?如何使用 volley 实现摘要认证?
【发布时间】:2016-03-22 04:16:54
【问题描述】:

任何人都可以帮助我使用 Google Volley 进行网络服务调用 (REST) 实现摘要身份验证。

基本上 Volley 使用的是 SHA1 身份验证(Basic Auth),但是有没有办法使用摘要身份验证(MD5)进行修改。

【问题讨论】:

标签: android android-volley digest-authentication


【解决方案1】:

两种 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】:

    确实,对您而言,最好的解决方案是使用 HttpDigestStack。你可以在这里找到文档:http://www.java2s.com/Open-Source/Android_Free_Code/Framework/platform/com_gm_android_volleyHttpDigestStack_java.htm

    您所要做的就是在使用 Volley 创建新的 RequestQueue 时提供一个新的 HttpDigestStack 实例作为附加参数。你可以按照这个例子:

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

    【讨论】:

    • 除非我误解了某些东西....此解决方案使用 BaseHttpStack (performRequest) 中已弃用的方法。 Volley 的建议建议改用 executeRequest。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 2012-07-18
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多