Blame view

old/PROJECT_STRUCTURE.md 1.61 KB
cccb7cfc   tangwang   init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
  # 项目结构说明
  
  ## 文件组织
  
  ```
  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签名验证
  - 环境变量配置管理