पर असफल रहा है मैं Google Apps के विरुद्ध ओपनआईडी प्रमाणीकृत करने के लिए LightOpenID का उपयोग कर रहा हूं। मैं प्रारंभिक authURL() अनुरोध करता हूं और चीजें अच्छी होती हैं। मैं मान्य() कॉल करता हूं और यह विफल रहता है। नकली गूंज के माध्यम से, मैंने इसे वैध() के अंतिम कुछ पंक्तियों तक ट्रैक किया है।लाइट ओपेनआईडी मान्य() Google Apps
सत्यापित से(), यूआरएल डिस्कवर ($ यूआरएल) में पारित कर दिया https://www.google.com/accounts/o8/user-xrds?uri=http://my-domain.com/openid?id=117665028262121597341
की खोज() एक xrds-स्थान है, जो मौजूद नहीं है के लिए पहले की जाँच करता है। खोज() अगला जांच करता है यदि सामग्री-प्रकार xrds + xml है, जो सत्य है। सेवा (। *)/सेवा के लिए खोजें() चेक, जो सत्य है। यहाँ सेवा की टुकड़ा,/सेवा()
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/signon</Type>
<Type>http://openid.net/srv/ax/1.0</Type>
<Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type>
<Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
<Type>http://specs.openid.net/extensions/pape/1.0</Type>
<URI>https://www.google.com/a/<my domain>.com/o8/ud?be=o8</URI>
</Service>
की खोज देखता है कि हम OpenID 2 का उपयोग कर रहे हैं और $ सर्वर चर में URI फ़ील्ड निकालता है। खोज() CanonicalID निकालने के लिए जारी है, यह पता लगाने कि Google एक्स का समर्थन करता है और SREG नहीं। अंत में, खोज करें() https://www.google.com/a/my-domain.com/o8/ud?be=o8
मान्य() डेटा में प्रत्येक फ़ील्ड को साफ करके जारी रखता है [], magic_quotes के आधार पर या नहीं। यह openid.mode को 'check_authentication' पर सेट करता है, खोज ($ url) द्वारा लौटाए गए $ सर्वर का अनुरोध करता है और '/ is_valid: true' के लिए preg है। यह आखिरी preg_match है जो विफल रहता है। $ सर्वर यूआरएल एक सत्यापन वापस नहीं करता है लेकिन इसके बजाय कहता है, "आपके द्वारा अनुरोधित पृष्ठ अमान्य है।"
जो उत्तर मैं ढूंढ रहा हूं वह Google Apps सत्यापन के लिए सही यूआरएल है। एक करीबी दूसरा यूआरएल जैसा दिखना चाहिए और मैं Google Apps द्वारा लौटाई गई जानकारी के माध्यम से खोदूंगा और देख सकता हूं कि मेरे पास ऐसा कुछ है या नहीं।
जोड़ा गया: यह सुनिश्चित नहीं है कि यह मायने रखता है लेकिन मेरे पास/awell-known/host-meta फ़ाइल है। यहां सामग्री हैं: Link: <https://www.google.com/accounts/o8/site-xrds?hd=my-domain.com>; rel="describedby http://reltype.google.com/openid/xrd-op"; type="application/xrds+xml"
मुझे बताएं कि क्या आप अधिक कोड या डेटा चाहते हैं।
धन्यवाद, एरिक बी
मैं Google Apps और LightOpenId के साथ एक ही समस्या आ रही है ... यह केवल हालांकि हाल ही में हो रहा शुरू कर दिया है। – Greg
और अब मैं लगभग एक साल बाद, एक ही मुद्दे के साथ वापस आ गया हूं। मैं लगभग याद कर सकता हूं कि पिछले साल इस मुद्दे को किस तरह से दूर किया गया था - फिर से गुगलिंग करने की कोशिश की और देखो कि यह मुझे कहाँ ले गया ... – Greg
कुछ संभावित उत्तर: http://stackoverflow.com/questions/3995011/log-in-the-user- साथ-लाइटोपेनिड http://stackoverflow.com/questions/14752715/implementing-openid-with-php/14754571#14754571 – ethrbunny