WPThumbs
Themes Plugins By purpose By industry Best-of lists Fix it guides
Free Plugin by Automattic v2.0.0

OpenID Connect Server

Use OpenID Connect to log in to other webservices using your own WordPress.

OpenID Connect Server

The facts

Active installs
100+
Price
Free
Last updated
17 Apr 2025
Added
Oct 2022
Requires WP
6.0
Tested up to
WP 6.8.8
Requires PHP
7.4
Downloads
9,845

Our analysis

AI-assisted

OpenID Connect Server is a WordPress plugin that allows you to use your WordPress installation to authenticate with web services that support OpenID Connect, enabling Single-Sign On (SSO) for users. The plugin requires configuration through constants and hooks, including the definition of RSA keys and client details. It is suitable for developers familiar with PHP and WordPress customisation who want to implement SSO functionality on their sites.

The plugin allows for the exclusion of specific URLs from caching, ensuring that user authentication requests are processed correctly. Users need to generate RSA keys and define client settings manually, which may require additional technical knowledge.

Best for: This plugin suits developers looking to implement SSO on WordPress sites using OpenID Connect.

What it does well

  • Enables Single-Sign On (SSO) functionality
  • Allows authentication with OpenID Connect web services
  • Provides caching exclusion for specific endpoints
  • Developed by Automattic

Where it falls short

  • Requires manual configuration of RSA keys and clients
  • May not be user-friendly for those without technical skills
  • Limited documentation on features and usage

Verdict

OpenID Connect Server provides a specific solution for SSO but requires technical expertise for setup and configuration.

From the developer

Automattic's own description of OpenID Connect Server, lightly tidied.

With this plugin you can use your own WordPress install to authenticate with a webservice that provides OpenID Connect to implement Single-Sign On (SSO) for your users.

The plugin is currently only configured using constants and hooks as follows:

Define the RSA keys

If you don’t have keys that you want to use yet, generate them using these commands:

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

And make them available to the plugin as follows (this needs to be added before WordPress loads):

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
);

Alternatively, you can also put them outside the webroot and load them from the files like this:

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

Define the clients

Define your clients by adding a filter to oidc_registered_clients in a separate plugin file or functions.php of your theme or in a MU-plugin like:

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.

Github Repo

You can report any issues you encounter directly on Github repo: Automattic/wp-openid-connect-server

Read the full description on the official page →

Tagged as

Alternatives

Other plugins for making sites fast.

WP-Optimize

Get caching and more with this powerful cache plugin. Cache, optimize images, clean your database and minify f...

Free 1M+ installs 4.8★ (2,606)
LiteSpeed Cache

All-in-one unbeatable acceleration &amp; PageSpeed improvement: caching, image/CSS/JS optimization...

Free 7M+ installs 4.8★ (2,764)
EWWW Image Optimizer

Comprehensive image optimization with WebP, AVIF, Lazy Load, and more. Optimize images automatically for Faste...

Free 1M+ installs 4.8★ (1,838)
Under Construction

Easy to use Under Construction Page &amp; Coming Soon Page. Enable Under Construction Mode in seconds &amp; sh...

Free 600k+ installs 4.8★ (1,285)
Smush

Smush

93

Compress and optimize images, enable lazy load, serve WebP &amp; AVIF, and speed up your site with a global im...

Free 1M+ installs 4.8★ (6,051)
Converter for Media

Speed up your website by using our WebP &amp; AVIF Converter. Optimize images and serve WebP and AVIF images i...

Free 500k+ installs 4.9★ (1,097)