Este plugin no se ha probado con las últimas 3 versiones mayores de WordPress. Puede que ya no tenga soporte ni lo mantenga nadie, o puede que tenga problemas de compatibilidad cuando se usa con las versiones más recientes de WordPress.

OpenID Connect Server

Descripción

Con este plugin puedes utilizar tu propia instalación de WordPress para autenticarte con un servicio web que proporciona OpenID Connect para implementar el inicio de sesión único (SSO) para tus usuarios.

Actualmente, el plugin sólo se configura mediante constantes y ganchos como se indica a continuación:

Define las claves RSA

Si aún no tienes claves que quieras utilizar, genéralas utilizando estos comandos:

openssl genrsa -out oidc.key 4096
openssl rsa -in oidc.key -pubout -out public.key

Y ponlos a disposición del plugin de la siguiente manera (esto debe añadirse antes de que se cargue WordPress):

define( 'OIDC_PUBLIC_KEY', <<<OIDC_PUBLIC_KEY
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
OIDC_PUBLIC_KEY
);

define( 'OIDC_PRIVATE_KEY', <<<OIDC_PRIVATE_KEY
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
OIDC_PRIVATE_KEY
);

Alternativamente, también puedes ponerlos fuera del webroot y cargarlos desde los archivos así:

define( 'OIDC_PUBLIC_KEY', file_get_contents( '/web-inaccessible/oidc.key' ) );
define( 'OIDC_PRIVATE_KEY', file_get_contents( '/web-inaccessible/private.key' ) );

Define los clientes

Define tus clientes añadiendo un filtro a oidc_registered_clients en un archivo separado del plugin o functions.php de tu tema o en un MU-plugin como:

add_filter( 'oidc_registered_clients', 'my_oidc_clients' );
function my_oidc_clients() {
    return array(
        'client_id_random_string' => array(
            'name' => 'The name of the Client',
            'secret' => 'a secret string',
            'redirect_uri' => 'https://example.com/redirect.uri',
            'grant_types' => array( 'authorization_code' ),
            'scope' => 'openid profile',
        ),
    );
}

Exclude URL from caching

  • example.com/wp-json/openid-connect/userinfo: We implement caching exclusion measures for this endpoint by setting Cache-Control: 'no-cache' headers and defining the DONOTCACHEPAGE constant. If you have a unique caching configuration, please ensure that you manually exclude this URL from caching.

Repositorio de GitHub

Puedes informar de cualquier problema que encuentres directamente en el repositorio de Github: Automattic/wp-openid-connect-server

Reseñas

No hay valoraciones para este plugin.

Colaboradores y desarrolladores

«OpenID Connect Server» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«OpenID Connect Server» está traducido en 3 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «OpenID Connect Server» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.3.3

  • Fix failing login when Authorize form is non-English [#108]
  • Improvements in site health tests for key detection [#104][#105]

1.3.2

  • Prevent userinfo endpoint from being cached [#99]

1.3.0

  • Return display_name as the name property [#87]
  • Change text domain to openid-connect-server, instead of wp-openid-connect-server [#88]

1.2.1

  • No hay cambios de cara al usuario

1.2.0

  • Añade el filtro oidc_user_claims [#82]