Drupal Module
Official EngagePlus module for Drupal. Add social login with Google, Facebook, GitHub, Microsoft, and more to your Drupal site in minutes—no custom code required.
Features
Support for Google, Facebook, GitHub, Microsoft, LinkedIn, Twitter, Apple, and custom OIDC providers.
New users are automatically created in Drupal when they authenticate via OAuth providers.
Configure redirect paths, default roles, username patterns, and appearance through the admin UI.
Uses OAuth 2.0 with PKCE flow for secure authentication. Email verification trusted from OAuth providers.
Installation
Prerequisites
- Drupal 9.x or 10.x
- EngagePlus account (free tier available at engageplus.id)
- At least one OAuth provider configured in EngagePlus dashboard
Step 1: Download the Module
# Using Composer (recommended)
composer require drupal/engageplus
# Or download directly
cd modules/contrib
wget https://github.com/engageplus-id/drupal/archive/refs/heads/main.zip
unzip main.zip
mv drupal-main engageplusStep 2: Enable the Module
# Using Drush
drush en engageplus -y
# Or via admin UI
# Admin → Extend → Check "EngagePlus" → InstallStep 3: Configure EngagePlus
- Get your Client ID:
- • Go to EngagePlus Dashboard → Widget
- • Copy your Client ID
- Configure the module:
- • Go to
/admin/config/people/engageplus - • Paste your Client ID
- • Set your redirect URI (default:
https://yoursite.com/engageplus/callback) - • Click "Save configuration"
- • Go to
Step 4: Add Widget to Your Site
You can add the EngagePlus widget in three ways:
- Option 1: Block Placement (Recommended)
- • Go to
/admin/structure/block - • Click "Place block" in your desired region
- • Find "EngagePlus Login Widget"
- • Configure visibility and save
- • Go to
- Option 2: Twig Template
{{ engageplus_widget() }} - Option 3: Render Array
$build['widget'] = [ '#type' => 'engageplus_widget', '#container_id' => 'my-custom-id', ];
Configuration Options
/admin/config/people/engageplusClient ID
Your EngagePlus Client ID from the dashboard.
Redirect URI
OAuth callback URL. Must match the URL configured in your EngagePlus dashboard. Default: https://yoursite.com/engageplus/callback
API Base URL
Default: https://engageplus.id
Automatically Create Users
When enabled, new users are automatically created when they authenticate.
Default Role
Role assigned to newly created users (default: Authenticated User).
Username Pattern
Pattern for generating usernames:
• [email] - Use full email
• [name] - Use display name from OAuth
Skip Email Verification
Trust OAuth provider's email verification (recommended).
Button Text
Customize the login button text (default: "Login").
Theme
Light or dark theme to match your site design.
Show Labels
Display provider names alongside icons.
Troubleshooting
- • Verify Client ID is entered correctly in module settings
- • Check that the block is placed and enabled
- • Clear Drupal cache:
drush cr - • Check browser console for JavaScript errors
- • Verify redirect URI matches in both Drupal and EngagePlus dashboard
- • Check that OAuth providers are configured in EngagePlus
- • Enable debug mode to see detailed logs
- • Check logs at
/admin/reports/dblog
- • Ensure "Automatically create users" is enabled
- • Check that user registration is allowed in Drupal
- • Verify the user doesn't already exist with that email
- • Check watchdog logs for error messages
For issues, feature requests, or contributions: