मैं एक एंड्रॉइड ऐप लिख रहा हूं जो रिमोट सर्वर से बात करता है, और मैं ऐप उपयोगकर्ताओं को अपने फोन पर रहने वाले Google प्रमाण-पत्रों का उपयोग कर सर्वर में लॉग इन करने की अनुमति देना चाहता हूं, यानी आवश्यकता के बिना उपयोगकर्ता को मेरे ऐप में कहीं भी अपना Google पासवर्ड दर्ज करना है। उदाहरण के लिए, यदि उपयोगकर्ता का (एंड्रॉइड) फोन "[email protected]" के साथ कॉन्फ़िगर किया गया है, और फिर वे मेरे ऐप को इंस्टॉल और चलाते हैं, तो मेरा ऐप उन्हें एक संवाद के साथ पेश करेगा, "क्या आप कुछ गुई के रूप में साइन इन करना चाहते हैं @ gmail.com? ", और एक ओके बटन मारने पर उन्होंने मेरे सर्वर पर एक आईडी स्थापित की होगी जो जानता है कि उनका ईमेल पता [email protected] है, जैसा कि Google द्वारा प्रमाणित है।एंड्रॉइड ऐप के भीतर Google खाता प्रमाणीकरण
मुझे Google के अपने oauth2 दस्तावेज समेत इस बारे में व्यापक और विविध आंशिक व्यंजन मिल गए हैं, लेकिन यह सब कुछ कैसे किया जाए, इसकी समझ को परिभाषित नहीं किया है।
मेरे पास एंड्रॉइड कोड है जो खाता प्रबंधक का उपयोग करता है यह पता लगाने के लिए कि कौन से Google खाते किसी दिए गए फोन पर हैं। मैं उपयोगकर्ता को यह संकेत देता हूं कि वे किस Google खाते पर साइन इन करने के लिए उपयोग करना चाहते हैं, और फिर मुझे एक प्राधिकरण टोकन वापस प्राप्त होता है।
पिछली बात यह है कि, मैं अपने पहियों को बहुत कताई कर रहा हूं। व्यंजनों मैं देखा है मेरी इस फार्म के एक http प्राप्त करने के लिए कॉल करने के लिए लग रहे हैं:
http://<myWebServer>.com/_ah/login?continue=<someUrlIChoose>&auth=<authToken>
... जो (क) कि यह AppEngine के लिए विशिष्ट प्रतीत होता है में dissatisfying है और मैं स्वतंत्रता चाहते हैं इसे मेरी पसंद के किसी भी पिछली छोर पर चलाने के लिए, और (बी) एपेंगेन के साथ भी प्रयोग करने के लिए, मैंने जो ऐपेंगिन इंस्टेंस सेट अप किया है, उसे बिल्कुल संकेत नहीं दिया जाता है, यानी लॉग अब दिखाते हैं (मैं उम्मीद कर रहा था someUrlIChoose यूआरएल कुछ के साथ बुलाया गया होगा) ... इसलिए टोकन की वैधता के बारे में सूचित करने के लिए कोई अवसर नहीं है।
विशिष्ट सवालों में शामिल हैं:
- क्या मैं प्रमाणीकरण टोकन के साथ क्या करते हैं ... मैं अपने सर्वर पर भेज करते हैं, और किसी भी तरह के लिए टोकन की मान्यता सत्यापित करने के लिए अपने सर्वर से संपर्क करें गूगल है निर्दिष्ट खाता? या क्या कुछ बैकचैनल संचार है जो पहले से ही है ( प्रक्रिया के इस चरण में) Google सर्वर से उत्पन्न हुआ है ताकि मेरे सर्वर को सूचित किया जा सके कि यह टोकन मान्य है (और यदि ऐसा है, तो मैं इसे कैसे सेट अप करूं)? या कुछ और?
- क्या मुझे लगता है कि यह प्रक्रिया किसी भी पिछली छोर के संदर्भ में संदर्भ में करने योग्य है (केवल ऐपेंगिन नहीं)?
- क्या oauth2 मुझे क्या उपयोग करना चाहिए (oauth1 के विपरीत, या और कुछ)? जो कुछ भी मैंने पढ़ा है, वह यह दर्शाता है कि oauth2 के लिए Google का समर्थन "प्रयोगात्मक" है ... लेकिन मुझे पता नहीं चला है कि दावे वर्तमान या पुराने हैं; और यहां तक कि अगर वर्तमान में, Google के पास स्थायी गैर-अंतिम रूप में विभिन्न उत्पादों को रखने का इतिहास है (उदा। शाश्वत बीटा), इसलिए मुझे नहीं पता कि इसके बारे में क्या निष्कर्ष निकालना है। बाकी
- कोई भी चीज जो प्रासंगिक है ...