Authentication & Social Login

Overview

Guejmi supports both traditional username/password authentication and OAuth-based social login via Google, Facebook, and X (Twitter).

Architecture

Authentication Flow Diagram

sequenceDiagram
    participant User
    participant Frontend
    participant Backend
    participant Provider
    
    User->>Frontend: Click "Login with Google"
    Frontend->>Backend: Redirect to /accounts/google/login/
    Backend->>Provider: OAuth authorization request
    Provider->>User: Show consent screen
    User->>Provider: Approve
    Provider->>Backend: Callback with auth code
    Backend->>Backend: Exchange code for tokens
Create/authenticate user Backend->>Backend: Generate JWT tokens Backend->>Frontend: Redirect to /auth/callback?access=...&refresh=... Frontend->>Frontend: Store tokens in localStorage Frontend->>Backend: Fetch user data (with JWT) Backend->>Frontend: Return user data Frontend->>User: Redirect to homepage (authenticated)

Setup Guide

1. Google OAuth

2. Facebook Login

3. X (Twitter) Login