A WordPress plugin that enables secure, privacy-preserving authentication using Idena blockchain identity.
Idena Authentication allows your WordPress users to sign in using their Idena identity. Idena is a blockchain-based proof-of-person protocol that ensures each user is a unique human without collecting personal data.
- 🔐 Secure Sign-in: Authenticate via cryptographic signature (no passwords).
- 🚀 Robust Redirection: Uses a direct redirect flow compatible with all browsers (no blocking popups).
- 🔒 Privacy-First:
- Automatic user creation with anonymous handles (e.g.,
id-a1b2c3d4). - Hashed Storage: Idena addresses are stored as SHA-256 hashes in the database, ensuring privacy even if the database is compromised.
- Display names are anonymized by default.
- Automatic user creation with anonymous handles (e.g.,
- 🛡️ Access Control:
- Configure allowed statuses (Human, Verified, Newbie, etc.).
- Redirect on Failure: Send unauthorized users to a custom landing page.
- ⚙️ High Compatibility:
- Works with Nginx and Apache.
- Supports custom directory structures.
- 📱 Mobile-Friendly: Seamless experience on mobile devices.
- WordPress 5.0 or higher
- PHP 7.2 or higher
- SSL certificate (HTTPS) recommended
- Users need a validated Idena identity
- Download the plugin files.
- Upload the
wp-idena-authfolder to/wp-content/plugins/. - Activate the plugin through the 'Plugins' menu in WordPress.
- Go to Settings > Idena Auth to configure.
- Navigate to Settings > Idena Auth.
- Allowed Statuses: Select which identity statuses can log in:
- Human (default)
- Verified (default)
- Newbie
- Candidate
- ...and others.
- Redirect on Failure (Optional): Enter a URL to redirect users who try to log in but don't have a valid status.
Add the Idena login button to your site using shortcodes:
''' [idena_login] '''
To redirect users to a specific page (e.g., Dashboard) after login:
''' [idena_login class="my-custom-class"] '''
The button also automatically appears on the default WordPress login page (wp-login.php).
- User clicks "Sign in with Idena".
- User is redirected to
app.idena.ioto sign the authentication request. - Upon success, user is redirected back to your site.
- Success: User is logged in and redirected to the homepage (or custom URL).
- Failure (Status not allowed): User is redirected to your custom "Failure URL" or shown an error message.
''' // After successful authentication (fires in API) do_action('idena_auth_success', $idena_address);
// After failed authentication attempt do_action('idena_auth_failed', $idena_address, $reason);
// After new user is created do_action('idena_user_created', $user_id, $idena_address);
// After user successfully logs in do_action('idena_user_logged_in', $user_id, $idena_address);
'''
Q: I get a 404 error when clicking sign in A: The plugin now forces index.php in API URLs to prevent this. Ensure you have updated to version 1.0.3+.
Q: Users are redirected to the homepage but not logged in A: This usually happens if the user creation fails. Enable WP_DEBUG to see if there are errors related to email generation or username conflicts.
Q: Access Denied redirection isn't working A: Ensure you have entered a valid absolute URL (starting with https://) in the settings.
This plugin is licensed under the GPL v2 or later.
Developed by morienzo Based on the Idena Protocol