WP Manifestindependent plugin directory
manifest / users / wordpressiccopenidclient

ICC.gg Sign-In for OpenID Connect WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

A WordPress plugin that provides SSO (Single Sign-On) authentication against an OpenID Connect OAuth2 Identity Provider using Authorization Code Flow.

★ 0stars
46release downloads
v5.4.1latest · 1mo ago

Install

Download icc-gg-sign-in-openid-connect.zip From the v5.4.1 release on GitHub, Aug 28, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/ivancarlosti/wordpressiccopenidclient/releases/download/v5.4.1/icc-gg-sign-in-openid-connect.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A WordPress plugin that provides SSO (Single Sign-On) authentication against an OpenID Connect OAuth2 Identity Provider using Authorization Code Flow.

Features

  • Auto Login (SSO) — Automatically redirect users to the Identity Provider for authentication
  • Login Button — Add a "Login with OpenID Connect" button to the WordPress login form
  • Button-Only Login Mode — Show the OpenID Connect button while hiding the WordPress username/password form
  • Login Button Logo — Upload a logo from the WordPress media library to display before the button text
  • JWT Signature Verification — JWKS-based JWT validation to prevent token forgery
  • User Auto-Creation — Automatically create WordPress users from IDP claims
  • Link Existing Users — Link existing WordPress accounts to IDP identities
  • Email Domain Restriction 🔒 — Restrict login to specific email domains (e.g., company.com) or full email addresses (e.g., specificuser@gmail.com). Leave empty to allow all
  • Token Refresh — Automatic access token refresh for supported IDPs
  • End Session Support — Redirect to IDP logout endpoint on WordPress logout
  • Discovery Document Import — Auto-populate settings from .well-known/openid-configuration
  • Shortcodes — [icc_gg_sign_in_openid_connect_login_button] and [icc_gg_sign_in_openid_connect_auth_url]

Requirements

  • WordPress 5.0+
  • PHP 8.1+
  • An OpenID Connect Identity Provider (Keycloak, Auth0, Okta, Azure AD, Google, etc.)

Installation

  1. Download the plugin or clone this repository into /wp-content/plugins/
  2. Activate the plugin through the WordPress admin panel
  3. Go to Settings > OpenID Connect to configure

Quick Setup

Use the Discovery Document Import feature on the settings page:

  1. Enter your IDP's discovery URL (e.g., https://your-idp.com/.well-known/openid-configuration)
  2. Click Load Configuration
  3. Fill in your Client ID and Client Secret
  4. Click Save Changes

Supported IDPs:

  • Auth0: https://{tenant}.{region}.auth0.com/.well-known/openid-configuration
  • Keycloak: https://{domain}/realms/{realm}/.well-known/openid-configuration
  • Okta: https://{domain}/.well-known/openid-configuration
  • Azure AD: https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
  • Google: https://accounts.google.com/.well-known/openid-configuration

Configuration Reference

OAuth Client Settings

Setting Description
Login Type Button on the login form, auto SSO redirect, or button-only (no password form)
Login Button Text Custom text for the OpenID Connect login button
Login Button Logo Optional logo from the media library shown before the button text
Client ID The ID your client is recognized as by the Identity Provider
Client Secret The secret key the IDP expects from your client
Scope Space-separated list of scopes (e.g., openid profile email)
Login Endpoint URL The authorization endpoint of your IDP
Token Validation Endpoint URL The token endpoint of your IDP
Userinfo Endpoint URL The user information endpoint
End Session Endpoint URL The logout endpoint (optional)
JWKS URI JWKS endpoint for JWT signature verification (strongly recommended)
Issuer IDP issuer URL for JWT validation (auto-derived if not set)

User Settings

Setting Description
Email Domain Restriction 🔒 Space-separated list of allowed email domains (e.g., company.com) or full email addresses (e.g., specificuser@gmail.com). Leave empty to allow all
Link Existing Users Match IDP identities to existing WordPress accounts by email
Create user if does not exist Auto-create new WordPress users on first login
Redirect Back to Origin Page Return users to the page they were on before login

Environment Variables / Constants

All settings can be defined as PHP constants for added security and CI/CD support:

define( 'OIDC_CLIENT_ID', 'your-client-id' );
define( 'OIDC_CLIENT_SECRET', 'your-client-secret' );
define( 'OIDC_ENDPOINT_LOGIN_URL', 'https://idp.example.com/auth' );
define( 'OIDC_ENDPOINT_TOKEN_URL', 'https://idp.example.com/token' );
define( 'OIDC_ENDPOINT_USERINFO_URL', 'https://idp.example.com/userinfo' );
define( 'OIDC_ENDPOINT_LOGOUT_URL', 'https://idp.example.com/logout' );
define( 'OIDC_ENDPOINT_JWKS_URL', 'https://idp.example.com/certs' );
define( 'OIDC_CLIENT_SCOPE', 'openid profile email' );
define( 'OIDC_LOGIN_TYPE', 'button' );
define( 'OIDC_EMAIL_DOMAIN_RESTRICTION', 'company.com specificuser@gmail.com partner.org' );
define( 'OIDC_CREATE_IF_DOES_NOT_EXIST', true );
define( 'OIDC_LINK_EXISTING_USERS', true );
define( 'OIDC_ENFORCE_PRIVACY', false );
define( 'OIDC_REDIRECT_ON_LOGOUT', true );
define( 'OIDC_REDIRECT_USER_BACK', false );
define( 'OIDC_ENABLE_LOGGING', false );
define( 'OIDC_LOG_LIMIT', 1000 );

Redirect URI

The default redirect URI registered with your IDP should be:

https://your-site.com/wp-admin/admin-ajax.php?action=icc-gg-sign-in-openid-connect-authorize

If your IDP doesn't support query strings in redirect URIs, enable Alternate Redirect URI in settings to use:

https://your-site.com/icc-gg-sign-in-openid-connect-authorize

Hooks & Filters

The plugin provides many hooks for customization. See the main plugin file for the complete list including:

  • icc_gg_sign_in_openid_connect_user_login_test — Control whether a user can log in based on their claim
  • icc_gg_sign_in_openid_connect_user_creation_test — Control whether a new user can be created
  • icc_gg_sign_in_openid_connect_alter_user_claim — Modify user claim data before user creation
  • icc_gg_sign_in_openid_connect_alter_user_data — Modify user data before insertion
  • icc_gg_sign_in_openid_connect_login_button_text — Customize the login button text
  • icc_gg_sign_in_openid_connect_login_button_logo_id — Customize the login button logo attachment ID
  • icc_gg_sign_in_openid_connect_user_logged_in — Action fired after successful login

Security

  • JWKS-based JWT signature verification to prevent token forgery
  • Cryptographically secure state generation (random_bytes)
  • SSRF protection via wp_safe_remote_* by default
  • SSL verification bypass restricted to local development environments only
  • Nonce-protected settings forms
  • Email domain restriction for access control

User Authentication & Creation

This plugin creates and authenticates WordPress users as a technical necessity of its core function — OpenID Connect Single Sign-On. User sessions are established only after successful authentication by the configured Identity Provider. User accounts are created only when explicitly enabled by the site administrator and only after the IDP has verified the user's identity.

Security measures protecting user login/creation:

Measure Description
JWT Signature Verification All ID tokens are cryptographically verified via JWKS to prevent forgery
Secure State Generation Anti-CSRF state values use random_bytes() to prevent code interception
SSRF Protection All outbound requests use wp_safe_remote_*() by default
Core WordPress Functions Uses wp_create_user(), wp_update_user(), wp_signon() — triggering all standard security plugin hooks
Email Domain Restriction Administrators can restrict which email domains/addresses are allowed
Token Claim Validation Validates exp, aud, iss, iat, and nonce claims on every token
Nonce Protection All admin forms are protected against CSRF

About OpenID Connect

OpenID Connect (OIDC) is an open authentication protocol standardized by the OpenID Foundation. It extends the OAuth 2.0 authorization framework to provide identity verification and single sign-on capabilities. This plugin implements the OIDC Authorization Code Flow as defined in the OpenID Connect Core 1.0 specification, enabling WordPress sites to delegate authentication to a trusted Identity Provider (IDP) rather than managing user credentials directly.

The OpenID Foundation is a non-profit international standardization organization that develops and maintains the OpenID Connect protocol and related specifications. This plugin is an independent implementation and is not affiliated with, endorsed by, or sponsored by the OpenID Foundation.

Credits

ICC.gg Sign-In for OpenID Connect is maintained by Ivan Carlos.

Based on OpenID Connect Generic by daggerhart.


🧑‍💻 Consulting and technical support

  • For personal support and queries, please submit a new issue to have it addressed.
  • For commercial related questions, please contact me for consulting costs.

Releases

Newest 25 of 31 recorded releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v5.4.1 latest
Aug 28, 2026 1mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
9
icc-gg-sign-in-openid-connect.zip9
wordpressiccopenidclient-5.4.1.zip0
Aug 28, 2026 1mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
1
icc-gg-sign-in-openid-connect.zip1
wordpressiccopenidclient-5.4.0.zip0
Aug 28, 2026 1mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
1
icc-gg-sign-in-openid-connect.zip1
wordpressiccopenidclient-5.3.1.zip0
Aug 28, 2026 1mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
1
icc-gg-sign-in-openid-connect.zip1
wordpressiccopenidclient-5.3.0.zip0
Aug 17, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
2
icc-gg-sign-in-openid-connect.zip2
wordpressiccopenidclient-5.2.4.zip0
Aug 17, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
2
icc-gg-sign-in-openid-connect.zip2
wordpressiccopenidclient-5.2.3.zip0
Aug 17, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
2
icc-gg-sign-in-openid-connect.zip2
wordpressiccopenidclient-5.2.2.zip0
Aug 17, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
2
icc-gg-sign-in-openid-connect.zip2
wordpressiccopenidclient-5.2.1.zip0
Aug 17, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
2
icc-gg-sign-in-openid-connect.zip2
wordpressiccopenidclient-5.2.0.zip0
Aug 16, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
0
icc-gg-sign-in-openid-connect.zip0
wordpressiccopenidclient-5.1.0.zip0
Aug 14, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
3
icc-gg-sign-in-openid-connect.zip3
wordpressiccopenidclient-5.0.1.zip0
Aug 14, 2026 2mo ago
icc-gg-sign-in-openid-connect.zip +1 asset
1
icc-gg-sign-in-openid-connect.zip1
wordpressiccopenidclient-5.0.0.zip0
Aug 13, 2026 2mo ago
icc-sign-in-openid-connect.zip +1 asset
2
icc-sign-in-openid-connect.zip2
wordpressiccopenidclient-4.0.4.zip0
Aug 11, 2026 2mo ago
icc-sign-in-openid-connect.zip +1 asset
0
icc-sign-in-openid-connect.zip0
wordpressiccopenidclient-4.0.3.zip0
Aug 11, 2026 2mo ago
icc-sign-in-openid-connect.zip +1 asset
1
icc-sign-in-openid-connect.zip1
wordpressiccopenidclient-4.0.0.zip0
Aug 11, 2026 2mo ago
icc-openid-client.zip +2 assets
1
icc-openid-client.zip1
wordpressiccopenidclient-3.6.0.zip0
plugin-update-info.json0
Aug 11, 2026 2mo ago
icc-openid-client.zip +2 assets
2
icc-openid-client.zip2
plugin-update-info.json0
wordpressiccopenidclient-3.5.3.zip0
Aug 11, 2026 2mo ago
icc-openid-client.zip +2 assets
2
icc-openid-client.zip1
plugin-update-info.json1
wordpressiccopenidclient-3.5.2.zip0
Aug 11, 2026 2mo ago
icc-openid-client.zip +2 assets
1
icc-openid-client.zip1
wordpressiccopenidclient-3.5.1.zip0
plugin-update-info.json0
Aug 11, 2026 2mo ago
icc-openid-client.zip +2 assets
2
icc-openid-client.zip1
plugin-update-info.json1
wordpressiccopenidclient-3.5.0.zip0
Aug 11, 2026 2mo ago
icc-openid-client.zip +1 asset
1
icc-openid-client.zip1
wordpressiccopenidclient-3.4.1.zip0
Aug 7, 2026 2mo ago
icc-openid-client.zip +1 asset
2
icc-openid-client.zip2
wordpressiccopenidclient-3.4.0.zip0
Aug 7, 2026 2mo ago
icc-openid-client.zip +1 asset
1
icc-openid-client.zip1
wordpressiccopenidclient-3.3.0.zip0
Aug 7, 2026 2mo ago
icc-openid-client.zip +1 asset
1
icc-openid-client.zip1
wordpressiccopenidclient-3.2.0.zip0
Aug 3, 2026 2mo ago
icc-openid-client.zip +1 asset
1
icc-openid-client.zip1
wordpressiccopenidclient-3.1.6.zip0
All releases on GitHub →
A grade

Security

ICC.gg Sign-In for OpenID Connect 5.4.1 · audited by WP Registry

No security issues found.

Audited release
5.4.1
Findings
none
Worst severity
—
Content hash
662609dce96911efc754764b…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.