طلب عنوان البريد الإلكتروني من مزود OpenID في PHP

StackOverflow https://stackoverflow.com/questions/1723351

  •  19-09-2019
  •  | 
  •  

سؤال

ما هي أبسط طريقة لطلب عنوان بريد إلكتروني من مزود OpenID؟

هل هناك مكتبة PHP جيدة تبسط هذه المشكلة؟

أعلم أن مقدمي الخدمات ينفذون الأشياء بشكل مختلف. لقد سمعت أنك بحاجة إلى القيام بكل من التسجيل البسيط وتبادل السمة. أود بشكل خاص أن أتأكد من أن الأمر يعمل مع أكبر مقدمي الخدمات، مثل قيربيود وجوجل.

ذات الصلة، ولكن غير كافية، أسئلة:

هل كانت مفيدة؟

المحلول

جنينين لديه فتح معرف مكتبة فب, ، واحدة من المكتبات الأولى (أؤمن) من الشركة المرنة إلى OPENID. ذكرت العمل مع قيربيود، الذي موقع جانين.

ومع ذلك، أنا شخصيا أستخدم مكتبة ZEND الآن (لعبت مع مكتبة Janrain منذ سنوات)، فقط لأنني أتطور بشكل عام باستخدام إطار Zend.

فيما يلي بعض أمثلة التعليمات البرمجية إذا كان المزود يستخدم OpenID تمديد تسجيل بسيط.

هذه قسم من مرجع zend يوضح دليل كيفية طلب معلومات المستخدم مع طلب المصادقة. إليك رمز المثال الذي تم تحريره لاحتياجاتك:

//require e-mail, get nickname and fullname if available
$sreg = new Zend_OpenId_Extension_Sreg(array(
    'nickname'=>false,
    'email'=>true,
    'fullname'=>false), null, 1.1);
$consumer = new Zend_OpenId_Consumer();
if (!$consumer->login($openid, $returnUrl, null, $sreg)) {
    die("OpenID login failed.");
}

إنجاز نفسه مع مكتبة JanRain متشابهة، إليك بعض الكود المأخوذة من ملف Try_Auth.php لحزمة المكتبة (قمت بتحريرها لإظهار الوظائف الأساسية التي تبحث عنها):

$auth_request = $consumer->begin($openid);
$sreg_request = Auth_OpenID_SRegRequest::build(
                                 // Required
                                 array('email'),
                                 // Optional
                                 array('fullname', 'nickname'));
$auth_request->addExtension($sreg_request);

بالنسبة صالة السمة تحقق من يناير فصول Auth_OpenID_AX, ، في مكتبة zend هناك طلب ميزة لدعم الفأس.

نصائح أخرى

أود أن أنظر إلى مكتبة openid openid zend framework، zend_openid. وبعد يجب أن تكون قادرا على استخدامه دون الإطار بأكمله.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top