[Bug][Windows] 新 GitHub Token 有效但同步认证返回 401,登录与退出入口同时消失
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- github, rust, tauri, typescript
- Lĩnh vực
- authentication, backend-api-design, desktop
Hướng nghiên cứu
Start with CloudSyncSection.tsx around the login and logout conditions, then trace how syncState=sign_in_required is produced in service.rs and how Marketplace::auth_status() determines local sign-in state. Review linked pull request #1286 and the issue’s latest investigation before changing behavior. Done means the reported state exposes a way to reauthenticate or sign out, and the listed auth and network failure cases are covered.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
2026-10-28 后续定位:新 OAuth Token 调用 GitHub
/user返回 200,但官方同步/v1/auth/github返回 401,直连与代理均复现。线上/revision为40b519ae15ee5029578f377ff8baa8f25833e692,与同步服务连接文档 声明的“仅供指定账号联调”版本一致;该版本源码会把未进入 restricted 允许名单的有效账号也返回成同样的 401。高度怀疑账号开放范围与稳定版功能展示不一致,需维护者确认实际线上配置和拒绝分支。详细脱敏接口结果和 requestId:排查记录。最新评论附线上提交对应源码、名单判断与建议。当前完整同步仍未修复;本地重新登录/凭据恢复不能解决服务访问资格问题。
环境与操作
Windows 桌面版 2.0.1+build.20261016,GitHub OAuth,未配置自定义同步服务器。
- 完成 GitHub 登录,但未完成加密云同步后续设置/绑定。
- 隔天打开「设置 → 权限与数据 → 加密云同步」,尝试开启同步。
- 页面停在「第 1 步,共 3 步:开启同步」「此设备尚未解锁」「尚未检查云端备份」,红字提示「请重新登录 GitHub」。
- 点击刷新无效;重新启动应用后再次尝试仍复现。
- 页面既没有 GitHub 登录按钮,也没有退出按钮,无法按提示重新登录。
“隔天/未完成设置”是用户操作背景,不能据此断定 Token 过期。
本机脱敏日志
[e2ee-token] prepare_enable: failed code=PermissionDenied message=sign_in_required
重启后再次操作仍记录相同错误。没有上传 Token、用户名、服务密钥或完整用户日志。
源码定位
CloudSyncSection.tsx,v2.0.1-tauri:
- 登录按钮要求
!syncSignedIn && !authSignedIn(约 734 行)。 - 退出按钮只在
syncSignedIn为 true 时显示(约 744–762 行)。 - 同步返回
sign_in_required后,syncSignedIn=false;如果 Marketplace 因本地 Token 仍存在而保持authSignedIn=true,两个入口会同时隐藏。刷新只是重新读取相同状态。
Marketplace::auth_status() 主要检查本地 Token 是否存在,不能证明同步认证有效。
另一个排查点:service.rs 将 sync_identity() 的错误统一映射成 sign_in_required,可能混淆网络失败与凭据失效;本次底层认证失败的具体原因尚未确认。
预期行为与回归建议
- 同步要求重新认证时,不论本地是否残留 Token,都显示「重新登录 GitHub」。
- 尚未完成首次同步配置时也能退出当前 GitHub 账号,不要求清空服务 Key、历史或云端备份。
- 登录成功后清理旧错误并重新进入设置流程。
- 覆盖
authSignedIn=true+syncState=sign_in_required、authState=expired、登录后未完成同步并重启,以及真正的网络失败。
目前已确认本机现象及 UI 条件冲突,尚未独立复现“隔天”必然触发凭据失效。
- Ngôn ngữ chính
- Rust
- Star
- 3.7k
- Fork
- 349
- Merge trung bình
- 2 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 100
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Open-Less/openless
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[windows] 录音快捷键还不支持设置为ScrllLock键Có thể đã có người làm @HKLHaoBin đã nhận 8 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Open-Less/openless#1241 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[android] 风格包 ZIP 选中文件后未导入,刷新无效Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea:style bug needs-repro P2 platform:android
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 22/100
Open-Less/openless#1320 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 18/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[omni] 多模态模式开启翻译后,译文时有时无,或混在 JSON 字段里Có thể đã có người làm @Breadswim đã nhận 1 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Open-Less/openless
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
quarto-dev/q2#1005 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Request]: streamtopĐang mởpackage-request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ScoopInstaller/Extras#19205 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
storytold/craft-libs#477 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Waschndolos/open-clubmanager#185 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
r-bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
servo/rust-smallvec#844 ·
Maintainer thường phản hồi trong vòng 1 ngày