[Bug][Windows] 新 GitHub Token 有效但同步认证返回 401,登录与退出入口同时消失
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- github, rust, tauri, typescript
- Domaine
- authentication, backend-api-design, desktop
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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 条件冲突,尚未独立复现“隔天”必然触发凭据失效。
- Langage dominant
- Rust
- Étoiles
- 3.7k
- Forks
- 349
- Merge moyen
- 2 j 14 h
- PR mergées (30 j)
- 97
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Open-Less/openless
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
[windows] 录音快捷键还不支持设置为ScrllLock键Peut-être pris @HKLHaoBin l’a pris il y a 8 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Open-Less/openless#1241 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 18/100
Les mainteneurs répondent en général sous 1 jour
-
[omni] 多模态模式开启翻译后,译文时有时无,或混在 JSON 字段里Peut-être pris @Breadswim l’a pris il y a 2 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
Les mainteneurs répondent en général sous 1 jour
-
[omni] 多模态「验证」对 OpenAI gpt-audio-1.5 必然返回 400Peut-être pris @Breadswim l’a pris il y a 2 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Open-Less/openless
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
libnativeapi/nativeapi#21 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
longbridge/nsh#804 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour