Appearance
Introduction
ExtensionLogin is a complete authentication and user data capture solution designed specifically for Chrome Extension developers. It allows you to:
- Authenticate users with email/password or Google OAuth
- Capture user data (email, name, custom fields) when they use your extension
- Send data to CRMs automatically (ClickFunnels, GoHighLevel, or custom webhooks)
- Track usage and manage users through a dashboard
Why ExtensionLogin?
Building user authentication in Chrome extensions is complex:
- Chrome's Manifest V3 restrictions limit what you can do
- Managing tokens, sessions, and secure storage is tricky
- Connecting to CRMs requires building multiple integrations
- Scaling infrastructure for global users is expensive
ExtensionLogin handles all of this for you with a simple SDK.
Key Features
Simple Integration
Add authentication to your extension with just 3 lines of code:
javascript
ExtensionLogin.init({ apiKey: 'el_live_xxx' });
ExtensionLogin.identify({ email: 'user@example.com', name: 'John' });Manifest V3 Compatible
Built from the ground up for Chrome's latest extension platform. Works with service workers, content scripts, and popups.
CRM Integration
Automatically send user data to:
- ClickFunnels (with tag support)
- GoHighLevel (with tag support)
- Custom webhooks (any endpoint)
Global Edge Network
Built on Cloudflare Workers for sub-50ms response times worldwide.
Secure by Default
- Encrypted credentials storage
- Secure API key management
- CORS protection
- Rate limiting
Quick Example
Here's a complete example of adding ExtensionLogin to a Chrome extension popup:
html
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
<title>My Extension</title>
</head>
<body>
<div id="login-form">
<input type="email" id="email" placeholder="Email">
<input type="text" id="name" placeholder="Name">
<button id="login">Login</button>
</div>
<script src="popup.js"></script>
</body>
</html>javascript
// popup.js
import ExtensionLogin from 'extensionlogin';
ExtensionLogin.init({
apiKey: 'el_live_xxxxxxxxxxxxxx'
});
document.getElementById('login').addEventListener('click', async () => {
const email = document.getElementById('email').value;
const name = document.getElementById('name').value;
const result = await ExtensionLogin.identify({ email, name });
if (result.success) {
console.log('User identified:', result.user);
}
});Next Steps
- Quick Start Guide - Get up and running in 5 minutes
- Installation - Detailed installation instructions
- SDK Reference - Complete API documentation
- Examples - Real-world integration examples