2015-12-16 5 views
10

कोई भी वेब सेवा कॉलिंग (आरईएसटी) के लिए Google वॉली का उपयोग करके पाचन प्रमाणीकरण को लागू करने में मेरी सहायता कर सकता है।वॉली का उपयोग करके पाचन प्रमाणीकरण को कैसे कार्यान्वित करें?

मूल रूप से वॉली SHA1 प्रमाणीकरण (मूल औथ) का उपयोग कर रहा है, लेकिन क्या डायजेस्ट ऑथ (MD5) के साथ संशोधित करने का कोई तरीका है।

+4

आप इस http://www.java2s.com/Open-Source/Android_Free_Code/Framework/platform/com_gm_android_volleyHttpDigestStack_java.htm देखा है: आप इस उदाहरण का अनुसरण कर सकते हैं? – Carlos

+0

धन्यवाद @ लिंक के लिए लाइबेरी ... मैंने अभी तक जांच नहीं की है ... बीमार इसे जांचें :) – Naitik

उत्तर

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

मदद करेंगे आपके लिए सबसे अच्छा समाधान है, वास्तव में, HttpDigestStack का उपयोग करें। आप यहां दस्तावेज़ों को यहां देख सकते हैं: http://www.java2s.com/Open-Source/Android_Free_Code/Framework/platform/com_gm_android_volleyHttpDigestStack_java.htm

आपको केवल वॉली का उपयोग करके एक नया अनुरोधक्यूयू बनाने के दौरान एक अतिरिक्त पैरामीटर के रूप में एक HttpDigestStack का एक नया उदाहरण प्रदान करना है।

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

जब तक कि मैं कुछ गलत समझ नहीं पा रहा हूं .... यह समाधान बेसहट्स्टस्टैक (performRequest) से एक बहिष्कृत विधि का उपयोग करता है। वॉली की सिफारिश इसके बजाय executeRequest का उपयोग करने का सुझाव देती है। –

संबंधित मुद्दे

 संबंधित मुद्दे