docs: add consolidated dev URL reference and migrate /shop to /storefront
Some checks failed
Some checks failed
- Add Development URL Quick Reference section to url-routing overview with all login URLs, entry points, and full examples - Replace /shop/ path segments with /storefront/ across 50 docs files - Update file references: shop_pages.py → storefront_pages.py, templates/shop/ → templates/storefront/, api/v1/shop/ → api/v1/storefront/ - Preserve domain references (orion.shop) and /store/ staff dashboard paths - Archive docs left unchanged (historical) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,12 +7,12 @@
|
||||
│ Browser │
|
||||
│ │
|
||||
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
|
||||
│ │ Admin Area │ │ Store Area │ │ Shop Area │ │
|
||||
│ │ /admin/* │ │ /store/* │ │ /shop/* │ │
|
||||
│ │ Admin Area │ │ Store Area │ │ Storefront Area │ │
|
||||
│ │ /admin/* │ │ /store/* │ │ /storefront/* │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ 🍪 admin_token │ │ 🍪 store_token │ │ 🍪 customer_ │ │
|
||||
│ │ Path: /admin │ │ Path: /store │ │ token │ │
|
||||
│ │ │ │ │ │ Path: /shop │ │
|
||||
│ │ │ │ │ │ Path: /storefront │ │
|
||||
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
|
||||
│ │ │ │ │
|
||||
│ ├──────────────────────┼─────────────────────┤ │
|
||||
@@ -22,8 +22,8 @@
|
||||
│ │ │
|
||||
▼ ▼ ▼
|
||||
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
|
||||
│ Admin Backend │ │ Store Backend │ │ Shop Backend │
|
||||
│ /admin/* │ │ /store/* │ │ /shop/* │
|
||||
│ Admin Backend │ │ Store Backend │ │ Storefront Backend │
|
||||
│ /admin/* │ │ /store/* │ │ /storefront/* │
|
||||
│ │ │ │ │ │
|
||||
│ ✅ admin_token │ │ ✅ store_token │ │ ✅ customer_ │
|
||||
│ ❌ store_token │ │ ❌ admin_token │ │ token │
|
||||
@@ -128,14 +128,14 @@
|
||||
└────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Login Flow - Customer (Shop)
|
||||
## Login Flow - Customer (Storefront)
|
||||
|
||||
```
|
||||
┌──────────┐
|
||||
│ Browser │
|
||||
└──────────┘
|
||||
│
|
||||
│ POST /api/v1/shop/auth/login
|
||||
│ POST /api/v1/storefront/auth/login
|
||||
│ { email, password }
|
||||
▼
|
||||
┌─────────────────────────┐
|
||||
@@ -146,20 +146,20 @@
|
||||
│ 3. Generate JWT │
|
||||
└─────────────────────────┘
|
||||
│
|
||||
│ Set-Cookie: customer_token=<JWT>; Path=/shop; HttpOnly; SameSite=Lax
|
||||
│ Set-Cookie: customer_token=<JWT>; Path=/storefront; HttpOnly; SameSite=Lax
|
||||
│ Response: { access_token, user }
|
||||
▼
|
||||
┌──────────┐
|
||||
│ Browser │──────────────────────────────────────┐
|
||||
│ │ │
|
||||
│ 🍪 customer_token (Path=/shop) │
|
||||
│ 🍪 customer_token (Path=/storefront) │
|
||||
│ 💾 localStorage.access_token │
|
||||
└──────────┘ │
|
||||
│ │
|
||||
├── Navigate to /shop/account/dashboard ─────┤
|
||||
├── Navigate to /storefront/account/dashboard ─────┤
|
||||
│ (Cookie sent automatically) │
|
||||
│ │
|
||||
└── API call to /api/v1/shop/orders ─────────┤
|
||||
└── API call to /api/v1/storefront/orders ─────────┤
|
||||
(Authorization: Bearer <token>) │
|
||||
│
|
||||
┌────────────────────────────────────────┐
|
||||
@@ -189,7 +189,7 @@
|
||||
┌───────────────────────────┼───────────────────────────┐
|
||||
│ │ │ │ │
|
||||
Starts with Starts with Starts with Starts with Starts with
|
||||
/admin/* /store/* /shop/* /api/* (public)
|
||||
/admin/* /store/* /storefront/* /api/* (public)
|
||||
│ │ │ │ │
|
||||
▼ ▼ ▼ ▼ ▼
|
||||
┌────────────────┐┌────────────────┐┌────────────────┐┌────────────────┐┌────────────────┐
|
||||
@@ -307,17 +307,17 @@ Customer trying to access admin route:
|
||||
```
|
||||
|
||||
```
|
||||
Customer cookie sent to shop route (allowed):
|
||||
Customer cookie sent to storefront route (allowed):
|
||||
┌──────────────────────────────────────────┐
|
||||
│ Cookie: customer_token=<JWT> (Path=/shop)│
|
||||
│ Request: GET /shop/account/orders │
|
||||
│ Cookie: customer_token=<JWT> (Path=/storefront)│
|
||||
│ Request: GET /storefront/account/orders │
|
||||
└──────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
Browser checks cookie path
|
||||
│
|
||||
▼
|
||||
Path /shop matches /shop
|
||||
Path /storefront matches /storefront
|
||||
│
|
||||
▼
|
||||
✅ Cookie SENT automatically
|
||||
@@ -342,7 +342,7 @@ LOGIN
|
||||
├── Server sets cookie:
|
||||
│ • Name: admin_token, store_token, or customer_token
|
||||
│ • Value: JWT
|
||||
│ • Path: /admin, /store, or /shop (context-specific)
|
||||
│ • Path: /admin, /store, or /storefront (context-specific)
|
||||
│ • HttpOnly: true
|
||||
│ • Secure: true (production)
|
||||
│ • SameSite: Lax
|
||||
@@ -386,5 +386,5 @@ LOGOUT
|
||||
2. **Role Checking** = Strict role validation at each boundary (admin, store, customer)
|
||||
3. **Dual Auth Support** = Cookies for HTML pages, headers for API endpoints
|
||||
4. **Security First** = HttpOnly, Secure, SameSite protection on all cookies
|
||||
5. **Clear Boundaries** = Each context (admin/store/shop) is completely isolated
|
||||
5. **Clear Boundaries** = Each context (admin/store/storefront) is completely isolated
|
||||
6. **Three User Types** = Admins manage platform, stores manage stores, customers shop
|
||||
|
||||
Reference in New Issue
Block a user