2010-04-11 10 views
8

estoy tratando de usar la biblioteca php-openid para implementar openID en mi sitio. el ejemplo de consumidor básico dentro de su paquete no funciona para Google y Yahoo. encontré la solución de Google aquí: Example usage of AX in PHP OpenID pero todavía no funciona para Yahoo! . ¿cómo puedo hacerlo funcionar?php-openID no funciona con Yahoo

+0

sin respuesta ?? la ayuda es realmente necesaria. –

Respuesta

9

wow it resolved now !!!!!

tracé las funciones y encontramos el problem.and que es .... en "try_auth.php" archivo que he utilizado

"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');" 

para obtener el correo electrónico del usuario del proveedor. funciona bien en Google porque Google ignora '2' (recuento de la dirección de correo electrónico solicitada) pero en Yahoo! genera [count.email] => 2 para ello (en la función getSignedNS) y en la respuesta de Yahoo no hay entrada para count.email. Causa devolver nulo en getSignedNS para Yahoo. cambié

"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');" 

a

"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',1,1, 'email');" 

y funciona bien ahora y regresar todo lo que solicitarse tanto proveedor !!!

lol ...