Add connected apps
Integrations
WordPress includes built-in user authentication, but many teams want more than the default login form—social sign-in, enterprise SSO, passwordless flows, or a single identity layer shared across multiple products. Kinde handles authentication and user management for you, and you can bring that experience to a self-hosted WordPress site without custom code.
Go to your Kinde dashboard and select Add application.
Enter a name (for example, “WordPress”), select Back-end web as the application type, and select Save.
Select Other back end as the SDK, and select Save.
Go to Details and copy the Domain (or Custom domain), Client ID and Client secret values.
In the Allowed callback URLs field, enter:
https://<your_wordpress_domain>/wp-admin/admin-ajax.php?action=openid-connect-authorizehttps://<your_wordpress_domain>Select Save.
Go to Authentication and select the authentication methods you want to use (Email + code is enabled by default).
To keep password authentication with username and email like WordPress, do the following:
Enable any other authentication methods you want to use for your WordPress site (for example, Google, Facebook, or Enterprise).
Select Save.
Sign in to your WordPress dashboard, go to Plugins and select Add New.
Search for OpenID Connect - Generic Client (by Jonathan Daggerhart) and select Install Now.
Once installed, select Activate.
In WordPress, go to Settings > OpenID Connect Client.
In the Quick setup section, enter your Kinde OpenID configuration URL and select Load Configuration.
<YOUR_DOMAIN>/.well-known/openid-configurationReplace <YOUR_DOMAIN> with your custom domain (e.g., https://auth.yourbusiness.com) or your Kinde domain (e.g., https://your_business.kinde.com).
Enter the Client ID and Client Secret Key from your Kinde application.
Set the Scope to openid profile email.
If auto-configuration fails, manually enter the following details:
<YOUR_DOMAIN>/oauth2/auth<YOUR_DOMAIN>/oauth2/v2/user_profile<YOUR_DOMAIN>/oauth2/token<YOUR_DOMAIN>/logout<YOUR_DOMAIN>/.well-known/jwks<YOUR_DOMAIN>You can find all these endpoints by visiting the OpenID configuration URL (for example, <YOUR_DOMAIN>/.well-known/openid-configuration).
Enter the following details:
subname{email}{given_name} {family_name}Select Save Changes.
Sign out of your WordPress site and visit your login page (for example, https://<your_wordpress_domain>/wp-login.php).
Select the Login with OpenID Connect button. The Kinde hosted login page opens.
Sign in or sign up for a new account.
You are redirected to your WordPress dashboard.
In your Kinde dashboard, go to Users to confirm the new user was created.
Sign out of WordPress and sign in again with your Administrator account.
In your WordPress dashboard, go to Users > All Users. New users are assigned the Subscriber role by default.
Add the scope offline and check the Enable Refresh Token option to get a refresh token.
Kinde uses the offline scope instead of the offline_access scope defined by the OpenID Connect specification.
To import the exported users to Kinde, see Import users in bulk. Do not import passwords—WordPress uses a hashing format that Kinde does not support. Users are prompted to create a new password on their next sign-in. Let your users know in advance to avoid confusion.
When a user’s email already exists in WordPress, user creation fails with the following error:
ERROR (failed-user-creation): Failed user creation.Enable the Link Existing Users option in Settings > OpenID Connect Client.