Google OpenID funktioniert nicht mit dem OpenID-Plugin in WordPress

Lesezeit: 3 Minuten

Das OpenID-Plugin für WordPress scheint keinen der Google OpenID-Anbieter-Links zu akzeptieren:

http://google.com/profiles/username

oder

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

Es gibt den Fehler zurück (für beide):

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

Irgendeine Idee warum? Das Janrain-Engagement-Plugin funktioniert, aber ich kann es wegen anderer Probleme damit nicht verwenden.

Das Problem ist gelöst. Da Google, Yahoo und einige andere OpenID-Anbieter https-Endpunkte bereitstellen, versucht curl, das andere Ende zu verifizieren, wenn es eine POST-Anfrage an dieses sendet – da curl kein Paket von CA-Zertifikaten enthält, schlägt es an allen solchen Endpunkten fehl.

Die Lösung besteht darin, curl anzuweisen, den Anbieter nicht zu verifizieren, oder ihm das richtige CA-Zertifikat für Google zu geben.

  • Also, wie hast du das auf WordPress gemacht?

    – Grilix

    5. Juli 12 um 2:33 Uhr

  • Wenn Sie SSL-Zertifikate auf Ihrem Host installieren können, ist dies die beste Option. Gehen Sie andernfalls den OpenID-PHP-Code durch, um herauszufinden, wo curl versucht, eine Verbindung zum Anbieter herzustellen, und kommentieren Sie die Überprüfungsoptionen aus. Ich habe die genauen Details vergessen, aber es sollte nicht zu schwer sein, es herauszufinden.

    – Vanwaril

    5. Juli 12 um 4:54 Uhr

  • Schön, ich kenne mich mit solchen “CA” -Dingen nicht aus :P, aber das wird mir helfen. Danke schön!

    – Grilix

    9. Juli 12 um 15:04 Uhr

Muss ein Problem mit den CA-Zertifikaten auf Ihrem Server sein. Google hat große Probleme mit seinen Zertifikaten.

Außerdem habe ich dies auf meinem System mit Apache zum Laufen gebracht, möglicherweise gibt es auch Probleme mit Ihrem Server. Versuchen Sie, ein Paket mit CA-Zertifikaten für Ihr System zu finden und zu installieren.

Bitte überprüfen Sie die PHP-Installation auf fehlende Plugins

/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, 

Wie @Vanwaril und @tarantinofan betonten, ist der richtige Weg, dies zu tun, die richtigen Zertifikate auf Ihrem Server zu installieren.

Wenn Sie jedoch, wie von @Vanwaril erwähnt, den anderen Weg wählen und die Zeilen in der openid-Codebasis auskommentieren, die für die Endpunktüberprüfung verantwortlich ist, gehen Sie wie folgt vor:

openidlibAuthYadisParanoidHTTPFetcher.php – fügen Sie die folgende Zeile nach Zeile 152 ein

curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);

openidlivAuthOpenIDconsumer.php – kommentieren Sie die Zeilen 970 bis 979 in der _idResCheckSignature-Funktion aus, sodass die Funktion null statt eines openid-Fehlers zurückgibt

Auch dies wird nicht empfohlen, aber Sie können zumindest fortfahren, bis Sie die richtigen Zertifikate auf Ihrem Server installiert haben.

EDIT: und dieser Link ist sehr hilfreich für den Umgang mit den Zertifikaten:
https://web.archive.org/web/20090214215411/http://curl.haxx.se/docs/sslcerts.html

Google OpenID funktioniert nicht mit dem OpenID Plugin in WordPress
Alex Wachira

Ich habe den gleichen Fehler erhalten und beim Überprüfen der Apache-Fehlerprotokolle Folgendes erhalten

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

Dies wurde verursacht durch curl Aufrufe aus dem OpenID-Plugin.

Folgendes hat bei mir funktioniert. Quelle: https://stackoverflow.com/a/21114601/3826642

  1. Verwenden Sie dieses Zertifikat-Stammzertifikatpaket:
    https://curl.haxx.se/ca/cacert.pem

  2. Kopieren Sie dieses Zertifikatspaket auf Ihre Festplatte. Und benutze das weiter php.ini

    curl.cainfo = "path_to_certcacert.pem"

Stellen Sie sicher, dass Sie den Server neu starten, nachdem Sie Änderungen vorgenommen haben.

.

643670cookie-checkGoogle OpenID funktioniert nicht mit dem OpenID-Plugin in WordPress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy