PROJECT_STRUCTURE.md 1.61 KB

项目结构说明

文件组织

shoplazza-oauth-backend/
├── app.py                    # 主应用入口
├── config.py                 # 配置管理
├── run.py                    # 启动脚本
├── requirements.txt          # Python依赖
├── env_template.txt          # 环境变量模板
├── README.md                 # 项目文档
├── PROJECT_STRUCTURE.md     # 项目结构说明
├── middleware/
│   └── hmac_validator.py     # HMAC验证中间件
└── routes/
    ├── auth.py              # OAuth2.0认证路由
    ├── api.py               # Shoplazza API调用
    └── webhook.py           # Webhook处理

核心组件

1. 配置管理 (config.py)

  • 环境变量加载
  • 应用配置管理
  • 访问令牌存储

2. HMAC验证 (middleware/hmac_validator.py)

  • OAuth请求HMAC验证
  • Webhook签名验证
  • 安全比较函数

3. 认证流程 (routes/auth.py)

  • 应用安装处理
  • OAuth回调处理
  • 令牌交换和刷新

4. API调用 (routes/api.py)

  • 客户数据获取
  • 产品数据获取
  • 订单数据获取
  • 商店信息获取

5. Webhook处理 (routes/webhook.py)

  • Webhook签名验证
  • 事件处理逻辑
  • 应用卸载处理

数据流

1. 商家安装应用
   ↓
2. 重定向到Shoplazza授权页面
   ↓
3. 商家确认授权
   ↓
4. Shoplazza回调应用
   ↓
5. HMAC验证
   ↓
6. 交换访问令牌
   ↓
7. 存储令牌
   ↓
8. 调用Shoplazza API

安全特性

  • HMAC签名验证
  • CSRF攻击防护
  • 安全的令牌存储
  • Webhook签名验证
  • 环境变量配置管理