“已登录,但无法保存凭据”:Senzoukria 与操作系统钥匙串
勾上“Save my credentials”之后,Senzoukria 会把你的密码存进操作系统的钥匙串(keychain)。如果这次写入失败了,你其实已经登录进去了,而应用会把真实的错误短暂显示出来,而不是假装凭据已经保存好了。
Senzoukria · 故障排除 · 更新于 2026 年 9 月
概要
- 消息
- “已登录,但无法保存凭据:{error}”
- 复选框
- “Save my credentials (OS keychain)”,默认勾选;登录界面的这些文字在代码里写死为英文
- 存放位置
- Windows 上是凭据管理器,macOS 上是 Keychain,Linux 上是 Secret Service
- 后果
- 下一次启动时还会再问你一遍密码
你会看到什么
登录成功之后紧接着,卡片上会有大约两秒钟显示“已登录,但无法保存凭据:{error}”,随后应用就打开了。到了下一次启动时,表单要么是空的,要么不会自动提交。登录界面上那个复选框本身写着英文“Save my credentials (OS keychain)”,因为这个界面的文字在代码里写死为英文;而这条失败消息本身是有中文的。
这条消息只停留短短一瞬,所以真正让人察觉到问题的往往是下一次启动:明明勾着“记住我”,应用却又一次问起密码。
为什么会这样
密码会进入操作系统的凭据存储(credential store),永远不会进文件。当这个存储拒绝写入时,登录本身其实是成功的,所以应用让你进来,并把错误摆到台面上,而不是让“记住我”悄悄什么都不做。典型原因有:Linux 上钥匙环(keyring)被锁住或者根本没起来、受管控的 Windows 机器上凭据管理器有策略限制,或者安全软件挡住了访问。经纪商凭据和 API 密钥用的是同一个钥匙串,所以同一个原因也可能影响到它们。
换句话说,登录和记住登录是两件分开的事情:前者由授权服务器回答,后者由你这台机器上的凭据存储回答。应用之所以把这个错误摆出来,是因为一个悄悄失败的“记住我”只会在下一次启动时变成一个莫名其妙的登录框。
如何解决
- 在 Linux 上,请确认你的会话里有一个 Secret Service 钥匙环正在运行、并且已经解锁。
- 在受管控的 Windows 机器上,请问一下管理员,应用是否允许写入凭据管理器。
- 退出登录再登录一次,保持复选框勾着,让它重试一次写入。
- 如果保存始终做不到,就把这个复选框取消勾选,每次启动时手动输入密码。
它并不意味着什么
- 不是登录失败了:你已经登录进来了。
- 也不是密码的问题:被拒的是保存这一步,不是这对凭据本身。
何时联系技术支持
如果上面这些做法都没有带来任何变化,请通过 菜单 → 问题反馈 把这个情况发出来(它在没有登录的状态下也能用),或者在 Senzoukria 的 Discord 上提问。请把“无法保存凭据:”后面显示的那个错误,和你的操作系统版本一起复制过来。
相关页面
同一栏目
- 导入停止:达到内存上限
- 热力图无法启动(EvalError)
- 需要订阅或订阅已过期
- 全部被接受,却没有数据进来
- NinjaTrader 桥接一直在连接
- 需要先保存密码
- NinjaTrader 桥接配置错误
- 本地数据,不是实时行情
其他语言版本
常见问题
- 钥匙串失败时,我的密码会被写进文件里吗?
- 不会。应用从来不会把它写进文件;它只是记不住而已。
- 退出登录会把保存好的凭据删掉吗?
- 退出登录会保留钥匙串里的那一条。要清掉它,请在下一次登录时取消勾选那个复选框。
- 经纪商的凭据也会受影响吗?
- 有可能。经纪商凭据和 API 密钥用的是同一个操作系统钥匙串,所以挡住这次写入的那个原因,同样可能挡住它们。