Я пытаюсь использовать библиотеку php-openid для реализации openID на моем сайте. основной потребительский пример внутри своего пакета не работает для Google и Yahoo. Я нашел решение Google здесь: Пример использования AX в PHP OpenID, но он еще не работает для Yahoo! , как я могу заставить его работать?
вау сейчас решено !!!!!
Я проследил функции и нашел проблему. И это …. в файле «try_auth.php», который я использовал
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
для получения электронной почты пользователя от поставщика. он отлично работает в Google, потому что Google игнорирует «2» (количество запрошенных адресов электронной почты), но в Yahoo! он генерирует [count.email] => 2 для него (в функции getSignedNS), а в ответ Yahoo нет записи для count.email. он вызывает возврат null в getSignedNS для Yahoo. Я изменился
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
в
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',1,1, 'email');"
и теперь он отлично работает и возвращает все, что я просил у обоих провайдеров!
лол…