Files
BlueRoseNote/07-Other/AI/AI Agent/WY/Website/MatrixAITA团队资产库文档.md

5.8 KiB
Raw Permalink Blame History

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