# 因为 passkey 错误被锁定在 Discourse 论坛之外？

**URL:** https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510
**Category:** Bug
**Tags:** passkey
**Created:** [2025 年4 月 18 日 14:35 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510 "2025-04-18T14:35:53Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![digitaltoast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/digitaltoast/32/499719_2.png) [@digitaltoast](https://meta.discourse.org/u/digitaltoast)
#### Post date: [2025 年4 月 18 日 14:35 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/1 "2025-04-18T14:35:53Z")

</div>

我是 [https://www.trucknetuk.com/](https://www.trucknetuk.com/) 的会员，该网站使用 Discourse 3.5.0.beta3-dev。

我选择使用我的 Thetis Pro 密钥设备，这在重新安装 Windows 之前一直运行良好。现在我收到“这个安全密钥看起来不熟悉”的提示。我发现，如果我在尝试登录之前取出密钥，然后在提示时重新插入，我会收到以下信息：

“发生错误：找不到具有提供凭据 ID 的安全密钥”。

我可以在 Thetis Pro Key Manager 应用程序中看到该网站的密钥。

注意：我在 Chrome、Firefox、移动设备等以及我的笔记本电脑上都尝试过，但收到的消息相同。设备上的所有其他密钥都可以正常用于其他网站。

我尝试联系网站所有者，但他只是让我重置密码——我不确定他是否理解密钥！是的，我可以重置密码，但仍需要密钥才能完成。

我还创建了一个新帐户并在 [Locked out as Passkeys seems broke and no backup / recovery options offered - FEEDBACK FORUM - Let Us Know! (INTERACTIVE) - Trucknet UK](https://www.trucknetuk.com/t/locked-out-as-passkeys-seems-broke-and-no-backup-recovery-options-offered/240978) 上发了一个帖子——但帮助不大。

那么，我还能做什么，或者要求论坛管理员尝试什么，或者以某种方式启动回退吗？我不记得有任何方法可以使用 Windows Hello 或 Google Password Manager 创建备份密钥，而这正是我通常会做的事情。在点击“取消”时，也没有任何其他选项可以替代物理密钥。

有什么想法吗？！谢谢。

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [2025 年4 月 18 日 15:33 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/2 "2025-04-18T15:33:21Z")

</div>

你好，欢迎来到 Meta

我无法帮助你解释为什么会发生这种情况。有趣的是，这种情况只发生在 Discourse 上。

你是否尝试过使用登录链接进行身份验证？你不需要密码即可完成此过程。

![image](https://global.discourse-cdn.com/meta/original/4X/3/a/2/3a2055c54d4cd3360844c6fb771138eb1b353829.png)

---

<div class="post-metadata">

### Author: ![digitaltoast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/digitaltoast/32/499719_2.png) [@digitaltoast](https://meta.discourse.org/u/digitaltoast)
#### Post date: [2025 年4 月 18 日 17:24 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/3 "2025-04-18T17:24:05Z")

</div>

感谢您的回复。抱歉，我忘了提我之前试过这个。  
我点击邮件中的链接（`www.trucknetuk.com/session/email-login/XXXXXX`），但又回到了这个界面：

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/3/9/939171540b68466853189b6d03d914247f7e7118.png)

如果我选择“使用安全密钥进行身份验证”，我会收到“不熟悉”的错误。如果我选择“尝试其他方式”，我会看到一个页面说：

> `当您准备好您的物理安全密钥或兼容的移动设备时，请按下面的“使用安全密钥进行身份验证”按钮。`

但是，这里没有显示这样的框，只有一个用于粘贴内容的文本区域。

[编辑] - 抱歉，由于“新用户每帖只能发一张图片”的错误，我必须将此拆分到另一个回复中……

---

<div class="post-metadata">

### Author: ![digitaltoast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/digitaltoast/32/499719_2.png) [@digitaltoast](https://meta.discourse.org/u/digitaltoast)
#### Post date: [2025 年4 月 18 日 17:24 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/4 "2025-04-18T17:24:37Z")

</div>

我猜了一下，试着把“用户 ID”和“凭证 ID”都粘贴到框里，但两种情况都显示：

> `提供的公钥无效。`

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/9/a/09a8baf68134aed2bf269af5f74c1eaff6966414.png)

---

<div class="post-metadata">

### Author: ![digitaltoast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/digitaltoast/32/499719_2.png) [@digitaltoast](https://meta.discourse.org/u/digitaltoast)
#### Post date: [2025 年4 月 18 日 17:25 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/5 "2025-04-18T17:25:11Z")

</div>

为了证明我的密钥确实对该网站有效，这是密钥本身的凭证：

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/2/1/721c3349a1b298a2734f4a87455211bd640c410e.png)

这变得越来越有趣了！

（再次抱歉回复了 3 次，但这是由于“每帖一次”的限制）

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [2025 年4 月 21 日 03:42 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/6 "2025-04-21T03:42:42Z")

</div>

嘿 @digitaltoast 欢迎！在此回复，我们已看到您的问题并正在讨论……

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2025 年4 月 21 日 20:47 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/8 "2025-04-21T20:47:20Z")

</div>

Discourse 中有两种安全密钥：第一因素（也称为通行密钥）和第二因素。通行密钥可用于在您输入密码之前从主登录屏幕登录。第二因素密钥只能在输入密码 _之后_ 使用，这就是为什么它被称为第二因素，因为它是在第一步身份验证之后。

我可以看到您的帐户中有一个第二因素密钥，这就是为什么您会收到“使用安全密钥进行身份验证”提示。我还看到您也有一个通行密钥，来自 Windows。您可以尝试使用它登录吗？重置 Windows 后您是否仍然拥有它？

如果这不起作用，您可以要求 TruckNet 的管理员重置 `hugh_lorry` 帐户的安全密钥。管理员需要同意您是该帐户的合法所有者。如果他们同意并移除密钥，那么您就可以通过电子邮件登录，而无需进行 2FA，因为该帐户将不再有 2FA。

---

<div class="post-metadata">

### Author: ![digitaltoast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/digitaltoast/32/499719_2.png) [@digitaltoast](https://meta.discourse.org/u/digitaltoast)
#### Post date: [2025 年4 月 22 日 21:47 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/10 "2025-04-22T21:47:32Z")

</div>

> [@pmusaraj](#):
>
> Discourse 中有两种安全密钥：第一因素（又名通行密钥）和第二因素。通行密钥可用于在输入密码之前从主登录屏幕进行登录。第二因素密钥只能在输入密码 _之后_ 使用，这就是为什么它被称为第二因素，因为它是在第一步身份验证之后。

好的，澄清一下：

我可以在 Thetis Pro 物理 USB 通行密钥设备上看到通行密钥，所以我知道我使用的是它，而不是 Windows Hello。

如果我使用密钥，我会收到  
`“发生错误：找不到具有提供凭据 ID 的安全密钥。”`

与其他网站不同，没有选项可以选择物理安全密钥以外的任何内容。通常，当它显示“插入您的安全密钥”时，如果按下“取消”，则会提供其他选项，例如使用“Windows Hello”通行密钥。但如果我按下取消，它会显示：

`“安全密钥身份验证过程已超时或已被取消。”`

获得 2FA 屏幕的唯一方法是“通过电子邮件链接登录”，然后选择“两因素身份验证”。

然后它会显示一个相当令人困惑的屏幕，上面写着：

`“准备好您的物理安全密钥或兼容的移动设备后，请按下面的“使用安全密钥进行身份验证”按钮。”`

但没有“安全密钥按钮”，只有一个输入内容的区域（`<p class="second-factor__description">`），下面还有一个“完成登录”按钮。

我假设这是用于代码生成器的 6 位 2FA，但我唯一使用的是 Authy，它不在里面。无论我输入什么，消息都是`“提供的公钥无效”`，这可能表明托管网站存在错误，而不是我的问题？

我回到我的临时账户，再次尝试设置通行密钥和 2FA，我注意到有下载备份代码的选项，我肯定会这样做，因为我总是为其他网站这样做。我总是将它们记录在两个地方，但它们都不在其中。我会在 2024 年 2 月左右启用 2FA，当时他们从旧论坛切换到 Discourse - 这个选项当时是否不在那个页面上？

> [@pmusaraj](#):
>
> 我可以看到您的帐户中有一个第二因素密钥，这就是为什么您会收到“使用安全密钥进行身份验证”提示。我还看到您有一个通行密钥，来自 Windows。您可以尝试用它登录吗？重置 Windows 后您是否仍然拥有它？

这很有趣——这是否意味着您实际上可以看到 Trucknet 网站上的我的帐户和凭据？

> [@pmusaraj](#):
>
> 如果这不起作用，您可以要求 TruckNet 的管理员重置 `hugh_lorry` 帐户的安全密钥。管理员需要同意您是该帐户的合法所有者。如果他们同意并删除密钥，那么您就可以通过电子邮件登录，而无需 2FA，因为该帐户上将不再有 2FA。

好的，明白了。我将把它作为最后的手段，但如果可能的话，我想尝试解决这个问题并帮助修复任何可能存在的错误或可能在将来“难住”其他人的边缘情况，而不是在此阶段绕过它。

再次感谢！

编辑：补充一点，如果我通过我的 Pixel 6a 手机尝试，使用同一个密钥通过 NFC，我会收到错误：

`NotReadableError：与凭据管理器通信时发生未知错误。`

我可以确认，在其他网站（Google、[https://www.passkeys.io/](https://www.passkeys.io/) 等）上使用此密钥通过 NFC 可以正常工作。

 ![Screenshot_20250422-214945](https://global.discourse-cdn.com/meta/original/4X/b/e/f/befd7b243e1fe28a779461577bd8d9b9988f60f3.jpeg)

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2025 年4 月 28 日 19:04 UTC](https://meta.discourse.org/t/locked-out-of-a-discourse-forum-due-to-passkey-bug/362510/11 "2025-04-28T19:04:20Z")

</div>

> [@digitaltoast](#):
>
> 然后会显示一个相当令人困惑的屏幕，上面写着：
> 
> `“准备好您的物理安全密钥或兼容的移动设备后，请按下面的“使用安全密钥进行身份验证”按钮。”`
> 
> 但是，没有“安全密钥按钮”，只有一个可以输入内容的区域（` <p class="second-factor__description">`），下面还有一个“完成登录”按钮。

您能否发布此屏幕的截图？据我所知，您的帐户处于一种不寻常的状态。感觉应用程序的一部分记录了 2FA 密钥，但另一部分没有。有点难解释，但在 Discourse 中有两个概念：安全密钥和第二因素方法（其中一个是安全密钥，其他是 TOTP 和备用代码）。

> [@digitaltoast](#):
>
> 那个选项当时是不是不在那个页面上？

依稀记得，是的，曾有一段很短的时间，备用代码的用户界面不够友好，换句话说，我认为在很短的一段时间内，备用代码的生成有些隐藏。
