refactor kiro flow to web signin authorization

This commit is contained in:
QLHazyCoder
2026-05-19 12:16:59 +08:00
parent 98e776348e
commit ef700be3e2
22 changed files with 521 additions and 1391 deletions
+12 -9
View File
@@ -170,7 +170,7 @@
- `contributionStatusMessage`
- `contributionLastPollAt`
- OAuth 链接
- Kiro 运行态:使用 `kiroRuntime.session / register / desktopAuth / upload` 命名空间,保存注册页授权码/地址、桌面授权 PKCE 凭据、上传状态和当前 Kiro 会话进度
- Kiro 运行态:使用 `kiroRuntime.session / register / webAuth / desktopAuth / upload` 命名空间,保存 Kiro 官方登录入口、Builder ID 注册页状态、Kiro Web 登录态摘要、桌面授权 PKCE 凭据、上传状态和当前 Kiro 会话进度
- 当前轮冻结后的注册方式 `resolvedSignupMethod`
- 当前统一账号标识 `accountIdentifierType / accountIdentifier`
- 当前邮箱 / 密码
@@ -620,7 +620,7 @@ Plus 模式可见步骤:
## 6.2 Kiro Flow 链路
Kiro flow 的目标不是复用 OpenAI 注册链,而是独立完成“注册 Builder ID -> 获取桌面端 refresh token -> 上传到 `kiro.rs`”这条链路。
Kiro flow 的目标不是复用 OpenAI 注册链,而是独立完成“Kiro 官方登录入口 -> Builder ID 注册 -> Kiro Web 登录态 -> 桌面端 refresh token -> 上传到 `kiro.rs`”这条链路。
当前 Kiro workflow 固定为 9 个节点:
@@ -638,14 +638,17 @@ Kiro flow 的目标不是复用 OpenAI 注册链,而是独立完成“注册 B
1. sidepanel 把当前 flow 切到 `kiro`target 固定为 `kiro-rs`
2. 用户填写 `kiro.rs URL / API Key`
3. 步骤 1~6 在 AWS Builder ID 注册页完成
- 清理 AWS Builder ID 相关 cookies
- 打开注册页并等待邮箱输入框
3. 步骤 1~6 先进入 Kiro 官方登录页,再完成 Builder ID 注册与 Kiro Web 登录态确认
- 清理 Kiro / AWS Builder ID 相关 cookies
- 打开 `https://app.kiro.dev/signin`
- 在 Kiro 官方登录页选择 Builder ID 登录入口
- 等待跳转到 AWS Builder ID 邮箱输入页
- 通过共享邮箱服务生成注册邮箱并提交
- 填写姓名、拉取验证码、设置账户密码
- 点击“确认并继续 / 允许访问”,完成 Builder ID 注册页授权
- 保存注册页授权码、授权地址、注册邮箱和当前页面状态到 `kiroRuntime.register`
4. 步骤 7 在后台注册桌面 OIDC client,并生成 PKCE 参数:
- 点击“确认并继续 / 允许访问”
- 等待回到 Kiro Web 登录完成页,确认 `kiroRuntime.webAuth.status = signed_in`
- 保存注册邮箱、注册页状态和 Kiro Web 登录态摘要到 `kiroRuntime.register / webAuth`
4. 步骤 7 必须在 `register.status = completed``webAuth.status = signed_in` 后执行;后台注册桌面 OIDC client,并生成 PKCE 参数:
- 生成 `state / codeVerifier / codeChallenge`
- 生成 localhost callback `redirectUri`
- 构建桌面授权地址并打开授权标签页
@@ -668,7 +671,7 @@ Kiro flow 的目标不是复用 OpenAI 注册链,而是独立完成“注册 B
- Kiro 自动运行走通用 linear node runner,但执行器、运行态、页面驱动和上传器全部独立在 `background/kiro/*``content/kiro/*`
- Kiro 运行态统一落在 `kiroRuntime` 命名空间,不再散落为多个平铺字段
- `kiro.rs` 上传不再发送 `profileArn`machineId 固定按 `sha256("KotlinNativeAPI/" + refreshToken)` 生成
- Kiro 注册页和桌面授权页不再静态注入 content script,而是由后台按 source 动态注入,避免同域 AWS 页面被错误归到旧 source
- Kiro 注册页覆盖 `app.kiro.dev` 与 AWS Builder ID 页面;桌面授权页只绑定 AWS authorize 页面,二者由后台按 source 动态注入,避免同域 AWS 页面被错误归到另一条 Kiro 子链路
## 7. 邮箱与 provider 链路