{CODICTS} Snippets is now available

Voxel LinkedIn Sign In

The {CODICTS} Voxel LinkedIn Sign In plugin adds Sign in with LinkedIn to websites powered by the Voxel Theme. It places a LinkedIn Sign In button directly inside Voxel’s login and registration popups, letting your users authenticate with their LinkedIn account for a fast, professional login experience.

Installation & Activation

Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.

After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.

Once activated, navigate to “LinkedIn Sign In” in the WordPress admin sidebar to configure your credentials.


Key Features

FeatureDescription
LinkedIn Sign In Button“Sign in with LinkedIn” button in Voxel’s login and registration popups.
Popup AuthenticationOAuth flow opens in a popup window — no full-page redirects.
Automatic User CreationNew accounts are created automatically from LinkedIn profile data.
Existing Account LinkingReturning LinkedIn users are recognized by their stored LinkedIn ID, or matched by email.
Avatar ImportLinkedIn profile picture is downloaded and set as the Voxel user avatar.
Voxel Profile CreationAutomatically creates a Voxel profile with first and last name.
Role ControlOptionally restrict LinkedIn Sign In to specific Voxel user roles.
Guest Form Pre-fillIntegration with {CODICTS} Voxel Create User From Post to pre-fill form fields with LinkedIn data.

LinkedIn Developer Setup

Before configuring the plugin, you need to create a LinkedIn App in the LinkedIn Developer Portal.

Step 1: Create a LinkedIn App

1. Go to the LinkedIn Developer Portal and click “Create app”.

2. Fill in the required details (app name, LinkedIn Page, logo) and create the app.

Step 2: Enable the OpenID Connect Product

1. In your LinkedIn App, go to the “Products” tab.

2. Find “Sign In with LinkedIn using OpenID Connect” and request access.

3. Wait for approval (usually instant or within a few minutes).

Important: You must enable the “Sign In with LinkedIn using OpenID Connect” product — not the older “Sign In with LinkedIn” product. The plugin uses the OpenID Connect protocol.

Step 3: Add Your Redirect URL

1. In your LinkedIn App, go to the “Auth” tab.

2. Under “OAuth 2.0 settings”, find “Authorized redirect URLs for your app”.

3. Add the Redirect URL shown on the plugin’s settings page. This is your site’s home URL (e.g., https://example.com/).

Step 4: Copy Your Credentials

On the same “Auth” tab, copy the Client ID and Client Secret. You’ll enter these in the plugin settings.


Plugin Settings

Navigate to “LinkedIn Sign In” in the WordPress admin sidebar.

Step 1: Enable the Plugin

Turn on the “LinkedIn Sign In Enabled?” toggle.

Step 2: Enter Your LinkedIn Credentials

SettingWhere to Find It
Client IDLinkedIn App → Auth tab → Client ID
Client SecretLinkedIn App → Auth tab → Client Secret
Redirect URLRead-only — auto-detected from your site’s home URL. Copy this into your LinkedIn App’s Authorized Redirect URLs.

Step 3: Configure Role Control (Optional)

If you want to restrict LinkedIn Sign In to specific Voxel user roles:

1. Turn on the “Role control?” toggle.

2. Select the roles that should have access to LinkedIn Sign In from the multi-select dropdown (use Ctrl/Cmd+click to select multiple).

When role control is disabled, the LinkedIn button appears for all roles (subject to Voxel’s own social login setting).

Step 4: Save

Click “Save Changes”. The LinkedIn Sign In button will now appear in your Voxel login and registration popups for non-logged-in users.


How It Works

The Sign-In Flow

When a visitor clicks the “Sign in with LinkedIn” button:

1. A popup window opens to LinkedIn’s authorization page.

2. The visitor signs into LinkedIn (if not already) and grants permission.

3. LinkedIn redirects back to your site with an authorization code.

4. The plugin exchanges this code with LinkedIn’s servers to verify the user’s identity and retrieve their profile data (name, email, profile picture).

5. The plugin either logs in an existing user or creates a new account.

6. The popup closes and the main page redirects according to Voxel’s login/registration settings.

How Users Are Matched

When someone authenticates with LinkedIn, the plugin checks for existing accounts in this order:

PriorityCheckAction
1stLinkedIn ID already linked to a WordPress accountLog in the linked user.
2ndEmail matches an existing WordPress userLog in that user.
3rdNo match foundCreate a new account, import avatar, create Voxel profile, then log in.

New User Registration

When a new account is created, the plugin:

1. Creates a WordPress user with the email, first name, and last name from LinkedIn and a random secure password.

2. Assigns the role selected in the Voxel registration popup (or the default role).

3. Downloads the LinkedIn profile picture and sets it as the Voxel avatar.

4. Creates a Voxel profile post with the user’s full name and stores first/last name as profile meta.

5. Triggers Voxel’s user registration event so welcome emails and membership workflows run normally.

6. Redirects the user to the plans page, welcome step, or custom redirect — following Voxel’s registration settings.


Button Placement

The LinkedIn Sign In button adapts automatically to your Voxel popup configuration:

Voxel ConfigurationWhere the Button Appears
Google Sign In or Apple Sign In already enabledNext to the existing social button(s) in the social login section.
No other social login optionsIn a new “Social connect” section added to the popup.
Multiple registration rolesUpdates dynamically when the user selects a different role.

The button only appears for non-logged-in users. It respects both Voxel’s per-role social login setting and the plugin’s own role control.


Role Control

When role control is enabled, the LinkedIn Sign In button only appears for the roles you select. Both of these conditions must be true for the button to show:

1. Voxel’s “Allow social login” must be enabled for the role (configured in Voxel’s role settings).

2. The role must be in the plugin’s “Enabled Roles” list (if role control is turned on).

When a user switches between roles in the registration popup, the button automatically appears or disappears based on the rules for the newly selected role.


Avatar Import

When a new user registers via LinkedIn, the plugin automatically downloads their LinkedIn profile picture and sets it as their Voxel avatar. This happens behind the scenes during registration — no action is needed from the user.

If the profile picture URL is unavailable or the download fails, registration still succeeds — the user simply won’t have an avatar and can upload one manually.


Guest Form Pre-fill (Create User From Post Integration)

The plugin integrates with the {CODICTS} Voxel Create User From Post plugin to let guest users pull their LinkedIn profile data into a Voxel create-post form without logging in.

How to Set It Up

1. In your Voxel post type, add a ui-heading field.

2. In the heading field’s description, add this shortcode:

[codicts-voxel-linkedin-get-data]

3. The companion plugin (Voxel Create User From Post) calls the LinkedIn button initializer and passes the field mappings. The shortcode text is replaced with a “Get details from LinkedIn” button.

4. When a guest clicks the button, a LinkedIn popup opens. After authentication, the form fields are automatically filled with the user’s LinkedIn data (email, first name, last name, display name).

Note: This feature requires the {CODICTS} Voxel Create User From Post plugin to be installed and configured. The pre-fill mode does not log the user in — it only populates form fields.


Troubleshooting

“Voxel Theme Not Detected” Error

Ensure the Voxel Theme is installed and set as the active theme. Go to Appearance → Themes to verify.

LinkedIn Button Not Appearing

CauseSolution
Plugin not enabledTurn on the “LinkedIn Sign In Enabled?” toggle in settings.
User is logged inThe button only shows for non-logged-in visitors. Log out to test.
Missing Client IDEnter the Client ID from your LinkedIn App in the plugin settings.
Role control blockingIf role control is enabled, make sure the user’s registration role is in the “Enabled Roles” list.
Social login disabled for the roleIn Voxel’s role settings, ensure “Allow social login” is enabled for the role.
JavaScript errorCheck the browser console for errors that may prevent the button from being injected.

OAuth Error After LinkedIn Authentication

CauseSolution
Wrong Client ID or SecretDouble-check that the credentials in the plugin settings match your LinkedIn App’s Auth tab exactly.
Redirect URL mismatchThe Redirect URL in the plugin settings must be added as an Authorized Redirect URL in your LinkedIn App. It must match exactly (including trailing slash and protocol).
Missing OpenID Connect productGo to your LinkedIn App → Products and ensure “Sign In with LinkedIn using OpenID Connect” is approved and active.

Popup Opens But Nothing Happens After LinkedIn Login

CauseSolution
Browser blocking popupsAllow popups for your site in the browser settings.
URL mismatch (www vs. non-www)Ensure your site URL is consistent. The Redirect URL in LinkedIn must match your site’s home_url() exactly.
Expired nonceIf the login form was open for a long time, refresh the page to generate a fresh security token.
JavaScript error in parent windowCheck the browser console for errors on the main page.

Avatar Not Imported

Some LinkedIn accounts may not have a publicly accessible profile picture URL, or the URL may expire before download completes. If the avatar import fails, the user account is still created normally — the user can upload an avatar manually. Also check that your server allows remote file downloads and that wp-content/uploads is writable.

User Created with Wrong Role

The role assigned to new users depends on which role is selected in the Voxel registration popup when the user clicks “Sign in with LinkedIn.” Verify the role has registration enabled in Voxel’s settings. For security, any attempt to register as an administrator is automatically downgraded to the default role.

Pre-fill Button Not Appearing in Create Form

Ensure the {CODICTS} Voxel Create User From Post plugin is installed and active. The shortcode [codicts-voxel-linkedin-get-data] must be placed in a ui-heading field’s description. The companion plugin handles the initialization — the shortcode alone won’t render the button without it.


For further support, visit codicts.com or contact us at support@codicts.com.

CoDicts Co., Ltd. © 2021-2026. All rights reserved