2011-07-14 8 views
6

मैं एंड्रॉइड के लिए एक ऐप विकसित कर रहा हूं, जिसमें एक एपीआई जैसी सर्वर की तरफ होगा। और इस ऐप में उपयोगकर्ता लॉगिन तंत्र होंगे। मैं लॉगिन जानकारी के रूप में एक google/fb/twitter खाता का उपयोग करना चाहता हूं, क्योंकि ऐप का उद्देश्य बहुत ही सामाजिक रूप से स्पॉट किया गया है।लॉगिन के रूप में Google खाते का उपयोग ... अगला क्या है?

मैंने पहले से ही उपयोगकर्ता सत्यापन (Howto use Google Accounts as login) के रूप में फोन में संग्रहीत Google खाते का उपयोग करने के बारे में पढ़ा है। समस्या यह है कि मुझे नहीं पता कि तब क्या करना है? जैसा कि मैंने समझा, खाता प्रबंधक, अंत में मुझे एक टोकन देगा। तो मैं इसके साथ क्या करूँ? मैं उस सर्वर पक्ष को कैसे सूचित करूं जिसे उपयोगकर्ता ने लॉगिन किया था? मैं इस टोकन को कैसे स्टोर करूं, क्योंकि मुझे लगता है कि कुछ समय बाद अमान्य होने पर यह टोकन बदल सकता है ...

और एक और बात। जब उपयोगकर्ता पहली बार अपने जी खाते में प्रवेश करता है तो मैं क्या करूँ? मैं उसका जी अवतार और डिस्प्ले नाम प्राप्त करना चाहता हूं, उदाहरण के लिए और उन्हें सर्वर पर स्टोर करना, इस प्रकार उपयोगकर्ता को क्लिक का एक गुच्छा बचा रहा है? क्या मैं उन्हें फोन से किसी भी तरह भेजता हूं या मैं उन्हें सर्वर से किसी तरह से प्राप्त करता हूं?

यह प्रश्न भी बाद में एफबी के लिए उत्पन्न हो सकते हैं।

आशा मैं अपने सवाल का सही ढंग से पूछते हैं, के रूप में इस एक छोटे से अधिक सामान्य प्रश्न है ...

TIA किया था।

उत्तर

1

Google ओपनआईडी का उपयोग करता है जबकि एफबी की अपनी चीज है। आपको उन दोनों के लिए अलग-अलग कोडपैथ की आवश्यकता होगी।

http://www.sozkan.com/blog/2010/09/24/very-quick-openid-integration-tutorial/

दी - इस यूआरएल पर निर्भर करता है डेटा का प्रबंधन करने के लिए - आप अपने कोड में इस रैप करने के लिए यदि आप इसे सभी आंतरिक चाहते हो की आवश्यकता होगी। एक बार जब आप टोकन आ आप मतभेदों पर यह क्या है, उम्र के अपने सर्वर-साइड कोड, आदि

जानकारी सूचित कर सकते हैं: http://thenextweb.com/socialmedia/2010/11/04/facebook-connect-oauth-and-openid-the-differences-and-the-future/

+0

सवाल यह था कि क्लाइंट-सर्वर ऐप की प्रक्रिया वास्तव में क्या थी। वेब-आधारित एप्लिकेशन के लिए यह प्रश्न जारी नहीं रहता है, क्योंकि एकमात्र काम एक ही स्थान पर किया जाता है। यहां यह एक और स्थिति है - उपयोगकर्ता को क्लाइंट पर प्रमाणित किया गया है, और सर्वर को अभी तक इसके बारे में पता नहीं है। तो मैं वास्तव में उसे कैसे सूचित करता हूं कि उपयोगकर्ता को एक विशेष प्रमाण-पत्र के साथ प्रमाणित किया जाता है और यह सब कैसे सत्यापित किया जाता है और इसी तरह ... – Djumaka

+0

आप क्लाइंट के माध्यम से प्रमाणित करेंगे और आगे बढ़ने के बाद सर्वर को सूचित करेंगे - या - आप इसे दूसरी तरफ करेंगे - क्या क्लाइंट सर्वर को प्रमाणीकृत करने के लिए कहता है और फिर परिणाम को क्लाइंट को वापस भेजता है। अधिकांश सर्वर भाषाएं (PHP, जावा, पर्ल, इत्यादि) कुछ प्रकार के वेब संचार (जैसे कर्ल) का समर्थन करती हैं ताकि प्रमाणीकरण के लिए यह एक एवेन्यू हो। Google भी एसओएपी एवेन्यू भी पेश कर सकता है। – ethrbunny

+0

डाउन-वोट किया गया क्योंकि हाथों से स्वयं को यूआरएल HTTP में, खाता प्रबंधक के व्यवहार को दोहराता है, और एंड्रॉइड की लॉग-इन खातों की मौजूदा सूची को फेंक देता है। – Phlip

2

मुझे लगता है कि this question को शामिल किया गया आप वास्तव में क्या कह रहे हैं।

मेरे लिए सबसे अच्छा समाधान this ब्लॉग पोस्ट में शामिल किया गया था। यह केवल Google खातों के साथ काम करेगा, और मान लें कि आप AppEngine पक्ष पर UserService का उपयोग कर रहे हैं, लेकिन मुझे लगता है कि यह अच्छी तरह से काम करता है। मुझे उम्मीद है यह मदद करेगा।

0

बस इस (बासी) सवाल खत्म, और कहीं मेरी कोड स्निपेट पार्क करने, मैं इस onCreate() कोड के साथ एक PreferenceScreen गतिविधि का उपयोग Google के साथ प्रवेश करने के लिए शुरू कर दिया है:

ArrayList<String> list = new ArrayList<String>(); 
    list.add("https://www.googleapis.com/auth/userinfo.profile"); 
    final GoogleAccountCredential credential = 
     GoogleAccountCredential.usingOAuth2(getApplicationContext(), list); 
    Preference acctValue = findPreference("GMail"); // A <Preference> in the XML... 

    acctValue.setOnPreferenceClickListener(new OnPreferenceClickListener(){ 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      startActivityForResult(credential.newChooseAccountIntent(), 1); 
      return false; 
     } 
    }); 

और वे इन छायादार जोड़ने की आवश्यकता मेरे libs फ़ोल्डर के लिए वर्ण:

google-api-client-android-1.17.0-rc.jar 
google-play-services.jar 
google-api-client-1.17.0-rc.jar 
google-http-client-1.17.0-rc.jar 
संबंधित मुद्दे