android रेलवे एचटीसी प्रामाणिक मोबाइल



ruby-on-rails devise (1)

यदि सर्वर 200 पर प्रतिक्रिया दे रहा है, तो यह वास्तव में सर्वर साइड कॉन्फ़िगरेशन की तरह लगता है, इसलिए आपको अपने यूआरएल को वास्तव में सुरक्षित करना चाहिए, एक डेस्कटॉप वेब ब्राउजर और फिडेलर जैसे एक उपकरण का प्रयोग करके ताकि आप सब कुछ देख सकें। प्रमाणीकरण हेडर और स्टेटस कोड पर विशेष ध्यान दें; कम से कम आपको चीजों को शुरू करने के लिए सर्वर से 401 देखना चाहिए।

आप अपने डिवाइस पर अपाचे HTTP के लिए निदान भी चालू कर सकते हैं, और यह हेडर और सामग्री को LOGCAT पर भी डंप देगा, ताकि आप यह सुनिश्चित कर सकें कि सब कुछ बढ़ रहा है।

WWW- Autnenticate हैडर की सामग्री की जांच करें, यह निर्दिष्ट करेगा कि कौन से योजनाएं स्वीकार की जाती हैं क्लाइंट साइड यूआरएल का पुन: अनुरोध करेगा, लेकिन यह प्राधिकरण हैडर को उसके अनुरोध में डाल देगा।

संक्षेप में, सुनिश्चित करें कि आपके सर्वर का पक्ष आपके एप्लिकेशन के बाहर काम करता है, ऐसे वातावरण में जो समस्या निवारण के लिए आसान है

क्लाइंट साइड, ऐसा लगता है कि आप केवल बेसिक प्रमाणीकरण को सक्रिय कर रहे हैं (हर कोई इसे का उपयोग करना बंद कर देता है!), और आपकी समापन बिंदु केवल डीआईजीईएसटी या एनटीएलएम या केर्बोरोस या किसी अन्य प्रमाणीकरण योजना को बेसिक की तुलना में ही चाहते हैं चूंकि ऐसा लगता है कि आपने SSL के लिए सेट अप नहीं किया था, निश्चित रूप से कम से कम डीआईजीईएस का उपयोग करें या आपके पास स्पष्ट पाठ समस्याएं हैं!

प्रपत्र चर का प्रयोग (प्रमाणीकरण के लिए) केवल आवेदन स्तर पर काम करता है, और नहीं HTTP प्रोटोकॉल स्तर, जो प्रमाणीकरण प्रक्रिया के लिए HTTP हेडर (WWW-Autnenticate, प्राधिकरण) और स्थिति कोड (401, 403) का उपयोग करता है और फिर, यदि आप केवल SSL के लिए अपना सर्वर (और क्लाइंट) कॉन्फ़िगर नहीं कर रहे हैं, तो स्पष्ट पाठ समस्याएं आ जाएंगी

मैं एक ऐंड्रॉयड क्लाइंट ऐप को अपने सर्वर रूबी पर रेल ऐप के लिए प्रमाणित करने की कोशिश कर रहा हूं जो डिवाइज मणि का उपयोग करता है। लेकिन मैंने प्रमाणीकरण के लिए http प्रमाणीकरण और पोस्ट अनुरोधों की कोशिश की है, और सर्वर किसी दिए गए उपयोगकर्ता नाम / पासवर्ड के लिए सिर्फ 200 का उत्तर देता है

मैंने पहले से ही config.http_authenticatable = true सेट किया है और: उपयोगकर्ता मॉडल पर database_authenticable ...

मैं अपनी प्रमाणिकता विधि पोस्ट करूँगा ताकि आप लोग इसे देख सकें ...

public static boolean authenticate(User user, String verb) throws IOException, JSONException
{

    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(verb);

     CredentialsProvider credProvider = new BasicCredentialsProvider();
     credProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT),
            new UsernamePasswordCredentials(user.getMail(), user.getPassword()));

    httpClient.setCredentialsProvider(credProvider);

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
    nameValuePairs.add(new BasicNameValuePair("email", user.getMail()));  
    nameValuePairs.add(new BasicNameValuePair("password", user.getPassword()));  
    httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    HttpResponse httpResponse = httpClient.execute(httpPost);


    int statusCode = httpResponse.getStatusLine().getStatusCode();
    //JSONObject resp = null;

     if (statusCode < 200 || statusCode >= 300){
        throw new IOException("Error");
     }


    return true;
}




http-authentication