PHP OpenID sağlayıcısı e-posta adresi isteniyor

2 Cevap php

Bir OpenID sağlayıcıdan bir e-posta adresi istemek için basit yolu nedir?

Bu sorunu basitleştiren iyi bir PHP kütüphanesi var mı?

Ben sağlayıcıları farklı şeyleri uygulamak olduğunu biliyoruz. Ben hem Basit Kayıt yapmak ve Exchange Özellik gerek duydum. Ben özellikle bu tür MyOpenID ve Google gibi büyük sağlayıcıları ile çalıştı emin olmak isterdim.

İlgili, ama yetersiz, sorular:

2 Cevap

JanRain OpenID bir şirket merkezli gelen ilk kitaplıkları (sanırım) bir Open ID PHP Library, bir tane var. Sen MyOpenID, JanRain sitesi ile çalışma söz.

Ben genellikle Zend Framework kullanarak geliştirmek, sırf şahsen ben (JanRain kütüphane yıl önce ile oynadı) şimdi Zend kitaplığı kullanabilirsiniz dedi.

Sağlayıcı OpenID Simple Registration Extension kullanıyorsa İşte bazı kod örnekleri vardır.

Bu section of the Zend Reference kılavuzu doğrulama isteği ile kullanıcı bilgilerini istemek için nasıl gösterir. İşte ihtiyaçlarınız için düzenlenmiş onların örnek kod:

//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 kütüphane ile aynı gerçekleştirilmesi benzer, burada (ben aradığınız temel fonksiyonlarını göstermek için düzenlenmiş) kütüphane paketinin try_auth.php dosyadan alınan bazı kod:

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

Attribute Exchange JanRain Auth_OpenID_AX Classes, Zend Kütüphane'de var bir feature request for AX support check out.

I Zend Framework's OpenID Library, Zend_OpenID bakmak olacaktır. Sen tüm çerçeve olmadan kullanmak gerekir.