From 235d6bcc6376d72507d048a2b5d7edb6c1ea092e Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Tue, 5 May 2026 22:38:17 +0800 Subject: [PATCH] vault backup: 2026-05-05 22:38:17 --- .../WY/Website/MatrixAITA团队资产库文档.md | 92 +++++++++++++++++++ .../WY/Website/Netease AITA ArtLib.md | 4 +- 2 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 07-Other/AI/AI Agent/WY/Website/MatrixAITA团队资产库文档.md diff --git a/07-Other/AI/AI Agent/WY/Website/MatrixAITA团队资产库文档.md b/07-Other/AI/AI Agent/WY/Website/MatrixAITA团队资产库文档.md new file mode 100644 index 0000000..b78e903 --- /dev/null +++ b/07-Other/AI/AI Agent/WY/Website/MatrixAITA团队资产库文档.md @@ -0,0 +1,92 @@ + +## 1. 概览 +本项目通过模拟 **Unreal Engine Launcher** 客户端,使用 Epic Games 的 OAuth2 接口进行身份认证,从而获得调用 Epic/Fab 资产分发 API 的权限。 + +## 2. 登录步骤(完整流程) +### Step 1: 打开 Epic 登录页 +在浏览器中打开以下 URL: +``` +https://www.epicgames.com/id/login?redirectUrl=https%3A%2F%2Fwww.epicgames.com%2Fid%2Fapi%2Fredirect%3FclientId%3D34a02cf8f4414e29b15921876da36f9a%26responseType%3Dcode +``` + +### Step 2: 登录并获取 Code +1. 使用 Epic Games 账号登录 +2. 登录成功后,页面重定向到一个包含 `?code=xxx` 的页面 +3. 复制该 `authorization_code` + +### Step 3: 提交 Code +将获取到的 `authorization_code` 提交到系统,系统会自动完成后续 Token 换取。 + +### Step 4: 系统自动维护 +- `access_token` — 有效期约 6-8 小时,用于调用 Epic API +- `refresh_token` — 长期有效,用于自动换取新 token +- 系统每 12 小时自动刷新,无需用户再次操作 +- 用户只需完成一次登录,后续全部自动 + +## 3. 调用的 Epic Games API 列表 +以下是系统使用你的账号 Token 所调用的全部 Epic 外部 API: + +| # | 用途 | 方法 | URL | 是否使用你的 Token | 说明 | +|---|------|------|-----|:------------------:|------| +| 1 | 换取/刷新 Token | POST | `https://account-public-service-prod03.ol.epicgames.com/account/api/oauth/token` | 否(用客户端凭证) | 用 authorization_code 换取 token,以及定期用 refresh_token 续期 | +| 2 | 获取资产列表 | GET | `https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/public/assets/{platform}` | 是 | 读取你账号拥有的所有 UE/Fab 资产列表(appName、版本号等) | +| 3 | 获取下载清单 | GET | `https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/public/assets/v2/platform/{platform}/namespace/{namespace}/catalogItem/{catalogItemId}/app/{appName}/label/{label}` | 是 | 获取某个资产的 CDN 下载地址,等同于 Launcher 点击"下载"的内部请求 | +| 4 | 获取用户库 | GET | `https://library-service.live.use1a.on.epicgames.com/library/api/public/items` | 是 | 列出你的 Fab Library 中所有已拥有的资产 | +| 5 | 获取权益列表 | GET | `https://entitlement-public-service-prod08.ol.epicgames.com/entitlement/api/account/{accountId}/entitlements` | 是 | 验证账号是否拥有特定资产的使用权 | +| 6 | CDN 文件下载 | GET | `https://cdn1.unrealengine.com/.../.manifest?...签名参数` | 否(URL 自带签名) | 实际下载资产文件块,不使用你的 Token | + +## 4. 权限说明 +### Token 拥有的权限(只读) + +| 能力 | 说明 | +|------|------| +| 读取资产列表 | 查看你购买/领取的所有 UE/Fab 资产 | +| 下载资产 | 获取下载地址 + 从 CDN 下载文件 | +| 读取权益 | 查询你是否拥有某个资产的使用权 | +| 读取用户库 | 列出 Library 中的项目 | +| 基本信息 | 获取 displayName、accountId | + +### Token 不具备的权限 +- ❌ 购买资产、消费余额、使用钱包 +- ❌ 修改账号密码或邮箱 +- ❌ 访问支付信息/信用卡/账单 +- ❌ 修改任何账号设置 +- ❌ 发布/上架/下架/删除资产 +- ❌ 访问好友/社交/聊天功能 +- ❌ 发送任何消息 +- ❌ 退款/取消订单 +- ❌ 代替用户登录 Epic 网站(token ≠ session cookie) +- ❌ 访问 Fab.com 网页端功能(那是独立系统) + +## 5. 账号安全性分析 + +### 5.1 提供 Fab/Epic 账号的风险评估 + +| 风险项 | 级别 | 说明 | +|--------|------|------| +| 账号被盗 | **低** | 系统只存储 refresh_token,不存储密码。即使 token 泄露,攻击者无法修改密码或邮箱 | +| 购买/消费 | **无** | Launcher 客户端凭证不具备购买权限,无法产生消费 | +| 账号信息泄露 | **低** | 仅可获取 displayName 和 accountId,无法读取邮箱、支付信息、密码等 | +| 社交/隐私 | **无** | 无法访问好友列表、聊天记录、个人设置等 | +| 撤销能力 | **随时可撤销** | 用户在 Epic 网站修改密码即可使所有 refresh_token 立即失效 | + +### 5.2 Token 能做什么 vs 不能做什么 + +#### 能做的(Launcher 级别只读权限) + +- ✅ 列出已购/已领取的资产 +- ✅ 下载已拥有的资产文件 +- ✅ 查询权益(entitlements) +- ✅ 获取 displayName、accountId + +#### 不能做的 + +- ❌ 购买资产、消费余额 +- ❌ 修改账号密码或邮箱 +- ❌ 访问支付信息/信用卡 +- ❌ 修改账号设置 +- ❌ 发布/上架/下架资产 +- ❌ 访问好友/社交功能 +- ❌ 发送消息 +- ❌ 退款/取消订单 +- ❌ 代替用户登录 Epic 网站(token ≠ session cookie) diff --git a/07-Other/AI/AI Agent/WY/Website/Netease AITA ArtLib.md b/07-Other/AI/AI Agent/WY/Website/Netease AITA ArtLib.md index 8a392f8..9205624 100644 --- a/07-Other/AI/AI Agent/WY/Website/Netease AITA ArtLib.md +++ b/07-Other/AI/AI Agent/WY/Website/Netease AITA ArtLib.md @@ -252,4 +252,6 @@ https://skills.netease.com/skills/skill_65b044f0dd0c 我们的安全措施: - refresh_token 存储在 MongoDB 中,不暴露在 API 响应中 - authorization_code 只在内存中短暂存在,用完即丢 - - 所有认证相关路由在 Admin 认证保护下 \ No newline at end of file + - 所有认证相关路由在 Admin 认证保护下 + +---