with - openid connect
Google OpenID no funciona con el complemento OpenID en WordPress (5)
El complemento OpenID para WordPress no parece aceptar ninguno de los enlaces de proveedor de Google OpenID:
http://google.com/profiles/username
o
https://google.com/accounts/o8/id
Devuelve el error (para ambos):
Could not discover an OpenID
identity server endpoint
at the url:
http://google.com/profiles/username
¿Alguna idea de por qué? El plugin janrain engage funciona, pero no puedo usarlo debido a otros problemas con eso.
Debe ser un problema con los certificados de CA en su servidor. Google tiene muchos problemas con sus certificados.
Además, tengo esto funcionando en mi sistema con Apache, también puede haber problemas con tu servidor. Intente encontrar un paquete de certificados de CA para su sistema e instalarlo.
El problema esta resuelto. Dado que Google, Yahoo y algunos otros proveedores de OpenID brindan puntos finales https, curl intenta verificar el otro extremo cuando realiza una solicitud POST; dado que curl no viene con un paquete de certificados CA, falla en todos los puntos finales.
La solución es decirle a curl que no verifique el proveedor o darle el certificado de CA correcto para Google.
Por favor, compruebe si faltan complementos en la instalación de php
/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,
Como señalaron @Vanwaril y @tarantinofan, la forma correcta de hacerlo es obtener los certs adecuados instalados en su servidor.
Sin embargo, si elige tomar la otra ruta, como se menciona @Vanwaril, y comentar las líneas en la base de código de apertura que es responsable de la verificación del punto final, haga lo siguiente:
openid / lib / Auth / Yadis / ParanoidHTTPFetcher.php - inserte la siguiente línea después de la línea 152
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
openid / liv / Auth / OpenID / consumer.php - comente las líneas 970 a 979 en la función _idResCheckSignature para que la función devuelva un error nulo en lugar de un error de apertura
Nuevamente, esto no es recomendable, pero al menos puede avanzar hasta que pueda obtener los certificados correctos instalados en su servidor.
EDITAR: y este enlace es muy útil para tratar con los certs: https://web.archive.org/web/20090214215411/http://curl.haxx.se/docs/sslcerts.html
Obtenía el mismo error e inspeccionaba los registros de error de Apache Obtuve el siguiente
CURL error (60): SSL certificate problem: unable to get local issuer certificate
Esto fue causado por llamadas curl
desde el plugin OpenID.
Lo siguiente funcionó para mí. Fuente: https://.com/a/21114601/3826642
Utilice este paquete de certificado raíz de certificado: https://curl.haxx.se/ca/cacert.pem
Copie este paquete de certificados en su disco. Y usa esto en
php.ini
curl.cainfo = "path_to_cert/cacert.pem"
Asegúrese de reiniciar el servidor después de realizar cambios.