Google OpenID не работает с плагином OpenID в WordPress - PullRequest
3 голосов
/ 14 января 2011

Плагин OpenID для WordPress, похоже, не принимает ни одну из ссылок провайдера Google OpenID:

http://google.com/profiles/username

или

https://google.com/accounts/o8/id

Возвращает ошибку (для обоих):

Could not discover an OpenID
identity server endpoint 
at the url:
http://google.com/profiles/username

Есть идеи, почему? Плагин Janrain Eng работает, но я не могу использовать это из-за других проблем с этим.

Ответы [ 5 ]

4 голосов
/ 07 февраля 2011

Проблема решена. Так как Google, Yahoo и некоторые другие провайдеры OpenID предоставляют конечные точки https, curl пытается проверить другой конец при выполнении запроса POST к нему - поскольку curl не поставляется с пакетом сертификатов CA, он завершается неудачей на всех таких конечных точках. *

Решение состоит в том, чтобы либо указать curl не проверять провайдера, либо предоставить ему правильный сертификат CA для Google.

0 голосов
/ 06 сентября 2016

Я получал ту же ошибку и просматривал журналы ошибок Apache. Я получил следующее

CURL error (60): SSL certificate problem: unable to get local issuer certificate

Это было вызвано curl вызовами из плагина OpenID.

Следующее сработало для меня.Источник: https://stackoverflow.com/a/21114601/3826642

  1. Используйте этот корневой сертификат сертификата: https://curl.haxx.se/ca/cacert.pem

  2. Скопируйте этот пакет сертификатов на свой диск.И используйте это на php.ini

    curl.cainfo = "path_to_cert\cacert.pem"

Обязательно перезапустите сервер после внесения изменений.

0 голосов
/ 20 июня 2016

Как отметили @Vanwaril и @tarantinofan, правильный способ сделать это - установить соответствующие сертификаты на ваш сервер.

Если, однако, вы выбрали другой маршрут, как упомянуто @Vanwaril, и закомментировали строки в базе кода openid, отвечающей за проверку конечной точки, выполните следующее:

openid \ lib \ Auth \ Yadis \ ParanoidHTTPFetcher.php - вставить следующую строку после строки 152

curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);

openid \ liv \ Auth \ OpenID \ consumer.php - закомментировать строки с 970 по 979 в функции _idResCheckSignature, чтобы функция возвращала ноль, а не ошибку openid

Опять же, это не рекомендуется, но вы можете, по крайней мере, двигаться вперед, пока не установите соответствующие сертификаты на вашем сервере.

РЕДАКТИРОВАТЬ: и эта ссылка очень полезна для работы с сертификатами: https://web.archive.org/web/20090214215411/http://curl.haxx.se/docs/sslcerts.html

0 голосов
/ 25 апреля 2016

Пожалуйста, проверьте наличие недостающих плагинов в php installtion

/etc/php.d/dom.ini, 
/etc/php.d/mysql.ini, 
/etc/php.d/mysqli.ini, 
/etc/php.d/pdo_sqlite.ini, 
/etc/php.d/wddx.ini, 
/etc/php.d/xmlreader.ini, 
/etc/php.d/xmlwriter.ini, 
/etc/php.d/xsl.ini, 
0 голосов
/ 15 января 2011

Должна быть проблема с сертификатами CA на вашем сервере. У Google много проблем с их сертификатами.

Кроме того, у меня это работает на моей системе с Apache, могут быть проблемы с вашим сервером Попробуйте найти пакет сертификатов CA для вашей системы и установить его.

...