Zend_Auth ve OpenID kullanarak SREG veri alma

0 Cevap php

I can't figure out how to get SREG extension values when using Zend_Auth_Adapter_OpenId. I'm following these documentation pages:
http://framework.zend.com/manual/en/zend.auth.introduction.html
http://framework.zend.com/manual/en/zend.openid.consumer.html

Böyle doğrulamak için ikinci bir çağrı () yapmak için OpenID kullanırken Zend_Auth üzerinde belgelerde, diyor:

$auth_result = $auth->authenticate(new Zend_Auth_Adapter_OpenId());

Ve bu $ auth_result Zend_Auth_Result :: BAŞARI olarak biten, çalışır.

Ancak, Zend_OpenId_Consumer belgelerinde, döndürülen SREG verilere almak için bunu yapmak için diyor ki:

$sreg = new Zend_OpenId_Extension_Sreg(array('email'=>false,'fullname'=>false), null, 1.1);
$consumer = new Zend_OpenId_Consumer();
$consumer->verify($_GET, $id, $sreg);

Doğrulamak Ve bu, çok çalışıyor () true döndürür ve $ sreg-> getProperties () ben talep SREG alanları döndürür.

Sorun bunların ikisi de yapamaz ki! I) (doğrulamak sonra, ilk () kimlik doğrulaması için bu arama yaparsanız false döndürür. Ben ilk () doğrulayın, sonra) (kimlik Zend_Auth_Result döndürür :: HATASI. Zend / Auth / Adaptör / openid.php kodun baktığımızda, bu kimlik doğrulaması () mantıklı, içten () doğrulamak aradığını açıkça görülmektedir. Bu iç çağrı tarafından doldurulur SREG değerleri her yollarla maruz değildir Ancak ben görebiliyorum. Ne eksik?

(Bu yazarak ve deney yaparken ben sadece ['openid_sreg_email'] örneğin $ _GET, $ _GET kapalı SREG değerlerini kapmak olduğunu keşfetti, ancak amaçlanan desen olurdu gibi görünüyor değil. Benim sorunu çözer, ama Hala daha resmi bir çözüm olup olmadığını bilmek istiyorum.)

0 Cevap