Skip to content

Login & Authentication

MICHAMP uses a secure JWT (JSON Web Token) based authentication system combined with session management to protect your account.

  1. Navigate to dashboard.michamp.com
  2. Enter your username (not email)
  3. Enter your password
  4. Optionally check “Stay logged in” for extended session
  5. Click “Sign In”

Stay Logged In Checkbox

This option extends your session timeout:

OptionSession DurationBest For
Unchecked15 minutesShared computers, public WiFi
✅ Checked60 minutesPersonal devices, trusted networks

On your first login (or after clearing cookies), you’ll see a Cookie Policy modal explaining session management.

Option 1: Accept Session Cookies (Recommended)

  • ✅ Standard session timeouts (15 or 60 minutes)
  • ✅ Stay logged in across browser tabs
  • ✅ Session persists through page refreshes
  • ✅ Best user experience

Option 2: Deny Session Cookies (Limited)

  • ⚠️ 5-minute session timeout
  • ⚠️ Logged out when closing tab
  • ⚠️ Logged out on page refresh
  • ⚠️ Must log in for each new tab

MICHAMP uses cookies exclusively for session management:

michamp_dash_session - Stores session state and timeout
michamp_dash_last_activity - Tracks last activity for timeout
michamp_dash_cookie_consent_[userid] - Remembers your choice

We do NOT use:

  • ❌ Tracking cookies
  • ❌ Analytics cookies
  • ❌ Advertising cookies
  • ❌ Third-party cookies

When you submit your credentials:

POST /api/login
{
"username": "your-username",
"password": "your-password"
}

The server:

  1. Verifies your username exists
  2. Checks your password (hashed comparison)
  3. Confirms email is verified
  4. Generates a JWT token

On success, you receive:

{
"success": true,
"data": {
"user": { /* your user details */ },
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"serviceplan": { /* your plan details */ }
}
}

After cookie consent:

  • Session data stored in localStorage
  • JWT token saved for API requests
  • Session timeout configured based on your choices

Your session timeout depends on two factors:

Cookie Acceptance + Stay Logged In

CookiesStay Logged InTimeoutPersistence
✅ Accepted✅ Checked60 minutesFull
✅ AcceptedUnchecked15 minutesFull
❌ DeniedAny5 minutesNone

Your session timer resets on these activities:

  • Clicking anywhere on the page
  • Keyboard input
  • Mouse movement
  • Scrolling
  • Touch events (mobile)

When your session expires:

  1. You’ll be automatically logged out
  2. Redirected to the login page
  3. A message explains the session ended
  4. Your data remains secure

During Login:

  • Passwords transmitted over HTTPS only
  • Never stored in plain text
  • Compared using bcrypt hashing
  • Failed attempts are logged

Password Requirements:

  • Minimum 8 characters
  • Case-sensitive
  • Special characters allowed

Token Properties:

  • Expires after session timeout
  • Signed with secret key (server-side)
  • Contains user ID and permissions
  • Validated on every API request

Token Storage:

// Stored in localStorage (when cookies accepted)
localStorage.getItem('michamp_token')

The system checks your session every 5 seconds:

// Checks if session is still valid
if (!session.is_expired()) {
// Continue session
} else {
// Auto-logout
}

Causes:

  • Incorrect username (case-sensitive)
  • Wrong password
  • Caps Lock enabled
  • Extra spaces in username/password

Solutions:

  1. Double-check your username spelling
  2. Verify Caps Lock is off
  3. Try copying/pasting to avoid typos
  4. Use Forgot Password if needed

Cause: You haven’t clicked the verification link from your registration email.

Solution:

  1. Check your email inbox (and spam folder)
  2. Find the MICHAMP verification email
  3. Click the verification link
  4. Try logging in again

Cause: Cookies denied or “Stay logged in” not checked.

Solutions:

  1. Clear your cookies and log in again
  2. Accept cookies when prompted
  3. Check “Stay logged in” box
  4. Ensure browser allows localStorage

Cause: Cookies denied or browser settings blocking localStorage.

Solutions:

  1. Accept session cookies when logging in
  2. Check browser privacy settings:
    • Allow localStorage for michamp.com
    • Don’t block first-party cookies
  3. Try incognito/private mode to test
  4. Update browser to latest version

Safari Private Mode:

  • localStorage may be restricted
  • Accept cookies or use normal mode

Firefox Enhanced Privacy:

  • May block localStorage
  • Add michamp.com to exceptions

Mobile Browsers:

  • Sessions work normally
  • Touch events tracked for activity
  • Background tabs may timeout faster

If you can’t remember your password:

  1. Click “Forgot password?” on login page
  2. Enter your email address
  3. Check your email for reset link
  4. Click the link (valid for 1 hour)
  5. Enter new password
  6. Confirm new password
  7. Log in with new password

See Password Reset Guide for details.

  • ✅ Use a unique, strong password
  • ✅ Enable “Stay logged in” only on personal devices
  • ✅ Accept cookies for full functionality
  • ✅ Log out when using shared computers
  • ✅ Keep your browser updated
  • ✅ Use HTTPS always (automatic)
  • ❌ Share your password with anyone
  • ❌ Use the same password as other services
  • ❌ Stay logged in on public computers
  • ❌ Share your JWT token
  • ❌ Save passwords in insecure locations

You can log in on multiple devices simultaneously:

  • Each device gets its own session
  • Sessions are independent
  • Logging out on one doesn’t affect others
  • Each session has its own timeout

Sessions do NOT synchronize:

  • Changes on Device A don’t update Device B automatically
  • Refresh the page to see latest data
  • Each device maintains its own authentication state

When using the MICHAMP API:

Terminal window
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
https://api.michamp.com/v1/wallets

See API Authentication for details.

The browser extension uses API keys instead of JWT:

headers: {
'X-API-Key': 'your-api-key-here'
}

See Extension Setup for details.

Session Management - Detailed session info
Profile Settings - Manage your account
Security Best Practices - Stay secure