#8320·server

错误: 并行的 `/dentity/ connection/token' 崩溃 身份 :

作者: georglauterbach创建于 2026年9月6日更新于 2026年9月7日
标签bug
  1. /etc/bitwarden/licenses/user/{selfHostedUserId}.json进行自办的Bitwarden lite 例(v2026.8.1),并有优惠用户和有效许可证。 2.登录移动客户端(由Bitwarden iOS 2026.8.0转载),因此客户端持有刷新符.
  2. 触发关于该用户的两份重叠的`POST/IDINTY/CONE/toKEN ' 请求(重新提供赠款)。 这在iOS应用程序在背景中重试 / 打开时自然发生;它也可以使用相同的刷新符号进行两个平行的卷发.
  3. 央视身份日志和客户端接收到HTTP 504/出乎意料的错误.

预期成果

token 发行成功(或返回一个正常的 OAuth 错误). 同时刷新同一溢价用户的请求时, 不得崩溃身份 。

实际结果

第一个重叠请求可以成功或失败;第二个在构建访问符时抛出一个未处理的例外. 然后身份服务504s,直到进程重新启动.

系统 参数例外: 已经添加了相同密钥的项目 。 密钥 : {selfHosted UserId}
, at System. Collections.Generic. Dictionary'2. Add (.) (中文(简体) ).
在Bit. Core(英语:Bit. 计费. Services.Licensing Services. Validate UserPremiumAsync(用户) 互联网档案馆的存檔,存档日期2013-12-21.
在/source/src/Core/Billing/Services/执行/LicensingServices.cs中:第249行
Bit. 身份证明。 身份服务员. ProfileService. Get ProfileDataAsync (.)
在杜恩德,我们去 身份服务员. ResponseHandling. TokenResponseGenerator. Process RefreshToken Request Async (.) 互联网档案馆的存檔,存档日期2007-12-21.

后续请求随后击中:

系统 无效操作例外:改变非同时期收藏的操作必须具有专属访问权限. 同时对该收藏进行了更新并破坏了其状态。
在Bit. Core(英语:Bit. 计费. Services.Licensing Services. Validate UserPremiumAsync(用户) 互联网档案馆的存檔,存档日期2013-12-21.

这不是重复的许可证文件 。 只有一个“用户/{selfHostedUserId}.json” 。 字典密钥为自寄的用户代号;JSON内部的"Id"为云用户代号(期望).

QQ 屏幕截图或视频

无回复( N)

++ 附加上下文

`Licensing Service'保存有内存:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 私用词典<Guid, DateTime> userCheckCache = 新的词典<Guid, DateTime> ();


在`Validate UserPremiumAsync'(仍在`master'上):

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
如果(用户检查缓存。) 尝试GetValue( 用户 ) 。 Id, ext var last Check (英文)).
{
//.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
其他情况
{
 userCheckCache.Add(user.id,现在); // 种族
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

同一溢价用户的两个同时代号请求都错过了缓存,并拨打.Add'。 未处理的例外情况是/身份/连接/接通'。

建议的固定办法:使用 " 并行词典 " < Guid, Datetime * * (或 " IMemoryCache " )和 " TryAdd " / " 索引员 " ,而不是 " 词典 " 。 添加“。

有关内容:https://GitHub.com/bitwarden/server/issues/4274 (同堆栈痕迹;关闭为电子邮件/许可证不匹配;比赛没有固定).

QQ 构建版本

bitwarden lite 2026.8.1' (ghcr.io/bitwarden/lite')。 使用服务器标签`v2026.8.1'复制; . . . . . . .

内容来源: bitwarden/server