मैं ओपनआईडी तर्क के लिए नया हूं। मैं केनबेकर द्वारा केकेपीएचपी के लिए ओपनआईडी घटक का उपयोग कर रहा हूं, जेनरेन द्वारा PHP ओपनआईडी लाइब्रेरी के साथ।क्या प्रदाता से ओपनआईडी इंफोस लाने का कोई बेहतर तरीका है?
यह सब ठीक काम कर रहा है, लेकिन मुझे प्रदाता और विधि (रेग बनाम कुल्हाड़ी) के आधार पर उपयोगकर्ता सूचनाओं को पुनर्प्राप्त करने का एक संपूर्ण तरीका नहीं मिला। तो यही वह है जिसके साथ मैं आया:
if ($axResponse) {
if (is_array($a = $axResponse->get('http://axschema.org/contact/email'))) {
$user_record['email'] = $a[0];
if (is_array($b = $axResponse->get('http://axschema.org/namePerson'))) {
$user_record['nickname'] = $b[0];
}
} else if (is_array($a = $axResponse->get('http://schema.openid.net/contact/email'))) {
$user_record['email'] = $a[0];
if (is_array($b = $axResponse->get('http://schema.openid.net/namePerson'))) {
$user_record['nickname'] = $b[0];
}
}
} else if ($sreg) {
if (isset($sreg['email'])) {
$user_record['email'] = $sreg['email'];
}
if (isset($sreg['nickname'])) {
$user_record['nickname'] = $sreg['nickname'];
}
}
हालांकि मैंने Google के साथ सफलतापूर्वक इसका परीक्षण किया, याहू! और एओएल ओपनआईडी, मुझे यकीन है कि मैं अन्य/छोटे प्रदाताओं के साथ परेशानी में भाग जाऊंगा। क्या एक ही परिणाम प्राप्त करने के लिए एक बेहतर और अच्छा तरीका है? यह विशेष रूप से दोषपूर्ण लगता है कि अगर मैं अन्य वैकल्पिक फ़ील्ड लाने के लिए प्रयास करें ...
मैं इस सवाल को बंद करने और आपके उत्तर को स्वीकार करने के लिए पूरी तरह से सहमत हूं। सौभाग्य से, तब से चीजें काफी विकसित हुई हैं, ओएथ 2 समर्थन प्राप्त करने के साथ, और आजकल, मैं केवल इसका उपयोग करूँगा, और अधिकांश उपयोग मामलों के लिए ओपनआईडी के साथ किया जाएगा। –