2011-03-28 18 views
10

पर असफल रहा है मैं 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"

मुझे बताएं कि क्या आप अधिक कोड या डेटा चाहते हैं।

धन्यवाद, एरिक बी

+0

मैं Google Apps और LightOpenId के साथ एक ही समस्या आ रही है ... यह केवल हालांकि हाल ही में हो रहा शुरू कर दिया है। – Greg

+0

और अब मैं लगभग एक साल बाद, एक ही मुद्दे के साथ वापस आ गया हूं। मैं लगभग याद कर सकता हूं कि पिछले साल इस मुद्दे को किस तरह से दूर किया गया था - फिर से गुगलिंग करने की कोशिश की और देखो कि यह मुझे कहाँ ले गया ... – Greg

+0

कुछ संभावित उत्तर: http://stackoverflow.com/questions/3995011/log-in-the-user- साथ-लाइटोपेनिड http://stackoverflow.com/questions/14752715/implementing-openid-with-php/14754571#14754571 – ethrbunny

उत्तर

0

यकीन है कि पीएचपी कर्ल विस्तार अपने सर्वर पर स्थापित किया गया है। हमने हाल ही में उत्पादन में सटीक लक्षणों का सामना किया है और यह सर्वर प्रावधान के मुद्दे से संबंधित था।

आप डेबियन पर कोई ऐप्लिकेशन चला रहे हैं, बस का उपयोग करें:

apt-get install php5-curl