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
| Feature | Description |
|---|---|
| LinkedIn Sign In Button | “Sign in with LinkedIn” button in Voxel’s login and registration popups. |
| Popup Authentication | OAuth flow opens in a popup window — no full-page redirects. |
| Automatic User Creation | New accounts are created automatically from LinkedIn profile data. |
| Existing Account Linking | Returning LinkedIn users are recognized by their stored LinkedIn ID, or matched by email. |
| Avatar Import | LinkedIn profile picture is downloaded and set as the Voxel user avatar. |
| Voxel Profile Creation | Automatically creates a Voxel profile with first and last name. |
| Role Control | Optionally restrict LinkedIn Sign In to specific Voxel user roles. |
| Guest Form Pre-fill | Integration 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
| Setting | Where to Find It |
|---|---|
| Client ID | LinkedIn App → Auth tab → Client ID |
| Client Secret | LinkedIn App → Auth tab → Client Secret |
| Redirect URL | Read-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:
| Priority | Check | Action |
|---|---|---|
| 1st | LinkedIn ID already linked to a WordPress account | Log in the linked user. |
| 2nd | Email matches an existing WordPress user | Log in that user. |
| 3rd | No match found | Create 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 Configuration | Where the Button Appears |
|---|---|
| Google Sign In or Apple Sign In already enabled | Next to the existing social button(s) in the social login section. |
| No other social login options | In a new “Social connect” section added to the popup. |
| Multiple registration roles | Updates 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
| Cause | Solution |
|---|---|
| Plugin not enabled | Turn on the “LinkedIn Sign In Enabled?” toggle in settings. |
| User is logged in | The button only shows for non-logged-in visitors. Log out to test. |
| Missing Client ID | Enter the Client ID from your LinkedIn App in the plugin settings. |
| Role control blocking | If role control is enabled, make sure the user’s registration role is in the “Enabled Roles” list. |
| Social login disabled for the role | In Voxel’s role settings, ensure “Allow social login” is enabled for the role. |
| JavaScript error | Check the browser console for errors that may prevent the button from being injected. |
OAuth Error After LinkedIn Authentication
| Cause | Solution |
|---|---|
| Wrong Client ID or Secret | Double-check that the credentials in the plugin settings match your LinkedIn App’s Auth tab exactly. |
| Redirect URL mismatch | The 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 product | Go 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
| Cause | Solution |
|---|---|
| Browser blocking popups | Allow 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 nonce | If the login form was open for a long time, refresh the page to generate a fresh security token. |
| JavaScript error in parent window | Check 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.