Auth0 Authentication & CRM Setup
Complete technical guide for implementing authentication and CRM systems with Career Success Institute
This guide requires intermediate to advanced technical knowledge. You'll need:
If you're not comfortable with technical implementation, consider hiring a developer or using a no-code platform like Bubble.io
Platform: Landingsite.ai
Domain: careersuccessinstitute.com
Purpose: Public pages, blog, services,
payment portal
Stays on Landingsite - no changes needed
Platform: Bubble.io, Webflow, or Custom
Domain:
portal.careersuccessinstitute.com
Authentication: Auth0
Protected area for customers to view documents and track orders
Platform: Airtable, Notion, or Custom
Domain: crm.careersuccessinstitute.com
Authentication: Platform-specific or Auth0
Internal tool for team to manage clients and projects
Options: Supabase, Firebase, or PostgreSQL
Purpose: Store customer data, orders,
documents
Central data storage connected to all systems
Customer → Landingsite Payment Portal
↓
Stripe Payment Processing
↓
Webhook → Database (Create Customer Record)
↓
Email Service → Send Portal Credentials
↓
Customer → portal.careersuccessinstitute.com
↓
Auth0 → Login Authentication
↓
Customer Portal Dashboard → Display Documents
↓
Team → crm.careersuccessinstitute.com
↓
CRM Dashboard → Manage Orders & Upload Files
↓
Database → Update Customer Records
↓
Email Service → Notify Customer of Updates
Pricing: Free tier includes 7,500 active users - perfect for starting out
Career Success Customer Portal
Allowed Callback URLs:
https://portal.careersuccessinstitute.com/callback
http://localhost:3000/callback
Allowed Logout URLs:
https://portal.careersuccessinstitute.com
http://localhost:3000
Allowed Web Origins:
https://portal.careersuccessinstitute.com
http://localhost:3000
Note: Save these settings! You'll need the Domain, Client ID, and Client Secret for integration.
Allow customers to log in with Google or other social providers:
Recommendation: Make 2FA optional initially, then encourage users to enable it for added security.
Basic JavaScript integration for customer portal:
// Install Auth0 SDK
// npm install @auth0/auth0-spa-js
import createAuth0Client from '@auth0/auth0-spa-js';
// Initialize Auth0
const auth0 = await createAuth0Client({
domain: 'your-tenant.us.auth0.com',
client_id: 'YOUR_CLIENT_ID',
redirect_uri: 'https://portal.careersuccessinstitute.com/callback'
});
// Login function
async function login() {
await auth0.loginWithRedirect();
}
// Get user info after login
async function getUserInfo() {
const user = await auth0.getUser();
console.log(user);
return user;
}
// Logout function
async function logout() {
auth0.logout({
returnTo: 'https://portal.careersuccessinstitute.com'
});
}
// Check if user is authenticated
async function isAuthenticated() {
return await auth0.isAuthenticated();
}
The customer portal MUST be built on a different platform because Landingsite.ai doesn't support:
No-code platform with built-in database and Auth0 plugin
✅ Pros:
❌ Cons:
Setup Steps:
Designer-friendly with membership plugin
✅ Pros:
❌ Cons:
Cost: Webflow ($29-49/mo) + Memberstack ($25-100/mo) = $54-149/mo
Full control with React, Next.js, or Vue.js
✅ Pros:
❌ Cons:
Recommended Stack:
Spreadsheet-database hybrid with powerful features
Features:
Setup Steps:
Pricing: Free tier works for small teams
Plus:
$10/user/month
Pro: $20/user/month
Best For: Small to medium businesses, non-technical teams
All-in-one workspace with databases
✅ Pros:
❌ Cons:
Enterprise-grade CRM platforms
Platforms:
⚠️ Note: These are designed for sales pipelines, not service delivery tracking. May require customization for your workflow.
Build your own with Bubble.io or custom code
Use the CRM dashboard pages you already have on Landingsite as inspiration, then rebuild them on:
Your database needs these main tables:
1. Customers
2. Orders
3. Documents
4. Team Members
Open-source Firebase alternative with PostgreSQL
Why Supabase?
Setup:
Google's backend-as-a-service platform
✅ Pros:
❌ Cons:
Create Stripe Account
Sign up at stripe.com and complete verification
Set Up Products
Create products in Stripe: Resume Package ($299), Cover Letter ($149), etc.
Configure Webhooks
Set up webhook to trigger on successful payment
Webhook URL: https://your-backend.com/api/stripe/webhook
Events: checkout.session.completed, payment_intent.succeeded
Webhook Handler
Create API endpoint to receive Stripe webhooks
// Webhook handler example
app.post('/api/stripe/webhook', async (req, res) => {
const sig = req.headers['stripe-signature'];
const event = stripe.webhooks.constructEvent(req.body, sig, webhookSecret);
if (event.type === 'checkout.session.completed') {
const session = event.data.object;
// 1. Create customer in database
await createCustomer({
email: session.customer_email,
name: session.customer_details.name,
orderId: session.id,
amount: session.amount_total / 100
});
// 2. Send confirmation email
await sendEmail({
to: session.customer_email,
template: 'payment-confirmation',
data: { orderId: session.id }
});
// 3. Redirect to thank you page
// (handled by Stripe's success_url)
}
res.json({ received: true });
});
Update your Landingsite payment form to redirect to Stripe Checkout:
Transactional email service
Setup Steps:
Free Tier: 100 emails/day
Essentials: $19.95/mo (50k emails)
Payment Confirmation
Trigger: Stripe webhook → checkout.session.completed
Portal Credentials
Trigger: Customer record created in database (24hrs after payment)
First Draft Ready
Trigger: Document status changed to "ready_for_review" in database
Revision Acknowledgment
Trigger: Revision requested in customer portal
Auth0
$0
Free (up to 7,500 users)
Bubble.io
$29
Starter plan
Airtable
$20
Plus (2 users)
SendGrid
$20
Essentials plan
Total Monthly Cost
$69/mo
Plus Stripe processing fees (2.9% + 30¢ per transaction)
Requires more technical setup
Better scalability and support
Choose Your Stack: Decide between no-code (Bubble + Airtable) or custom development
Set Up Auth0: Create account and configure authentication
Build Customer Portal: Create portal subdomain with login functionality
Set Up CRM: Configure Airtable or other CRM for team use
Connect Payments: Integrate Stripe with webhook automation
Automate Emails: Set up SendGrid with email templates
Test End-to-End: Run through complete customer journey before launch
Need Help?
Consider hiring a developer on Upwork or Fiverr ($500-2000 for initial setup) or use a no-code specialist if you choose the Bubble.io route.
Career Success Institute - Technical Integration Guide
For questions, contact: [email protected]
Last Updated: January 2025 | Version 1.0