Hey Jerry.


Jerry McG wrote:
> 
> Can someone please respond to this post. I am unable to make Zend_OpenID
> work with both Yahoo and Vidoop providers. It works great with MyOpenID
> though.
> 
> Thanks!
> Hey Jerry,
> 
> I worked with the guys from SourceForge a bit when they shipped
> Zend_OpenID.  What version of Zend_OpenID are you using?  The one that
> ships with the current stable version of Zend Framework is riddled with
> problems. So if you haven't already tried, I would highly recommend
> upgrading at least the Zend_OpenID component to a recent snapshot version.
> 
> Steven Osborn
> Founding Software Developer, Vidoop LLC
> 
> 
>  
> 
> sgrobins wrote:
>> 
>> I used to use a library called Auth_OpenID for my consumer which worked
>> for all providers including yahoo. I switched to using Zend_OpenId and
>> now it doesn't work for yahoo as a provider.  Has anyone gotten this to
>> work?
>> 
>> After looking at the code, I was able to get it to work, but I had to do
>> the following (which seems not good, but it works)...
>> 
>> In Zend_OpenId_Consumer::_checkId(), I had to remove these lines:
>> 
>>         if (!$this->_associate($server, $version)) {
>>             return false;
>>         }
>> 
>> Inside the _associate() function it ends up making a call to yahoo
>> servers which returns a status 400 (Bad Request).  After doing some more
>> debugging it looks like yahoo doesn't support this:
>>                 'openid.mode'         => 'associate',
>>                 'openid.assoc_type'   => 'HMAC-SHA256',
>>                 'openid.session_type' => 'DH-SHA256',
>> 
>> In Zend_OpenId_Consumer::verify() I had to remove this line as well:
>>             if ((isset($params['openid_identity']) &&
>>                  $params["openid_identity"] != $id) ||
>>                 (isset($params['openid_op_endpoint']) &&
>>                  $params['openid_op_endpoint'] != $server) ||
>>                 $discovered_version != $version) {
>>                 //return false;
>>             }
>> 
>> This is because openid_identity and openid_claimed_id are *almost* the
>> same, but openid_claimed_id as an extra #XXXX at the end.  Not sure if
>> yahoo is doing somewhere weird.  So that check then fails and returns
>> false (cause $id got set to openid_claimed_id 20 or so lines above in the
>> file.
>> 
>> Any ideas?
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Zend_OpenId-fails-for-yahoo-openid-tp15910120p18073399.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to