我们今天登上了 Product Hunt! 留下评论

使用 Supabase 身份验证器

Supabase 多重身份验证(MFA)使用任何身份验证器应用生成的基于时间的验证码(TOTP)——包括浏览器中的。在控制台中打开 Account(账户)→ Security(安全),在 Multi-factor authentication(多重身份验证)下点击「Add app」(添加应用),再用 Authenticator 扩展扫描屏幕上的二维码。

你的 Supabase 账户能打开你所属的每个项目:存有用户数据的数据库、API 密钥、存储和账单。一个被盗的密码就足以读取或删除这一切。开启 MFA 后,Supabase 还会要求输入身份验证器中的六位数验证码;付费计划的组织还可以要求每位成员都开启。

在 Supabase 开启多重身份验证

这里保护的是你自己的 Supabase 账户。为你在 Supabase 上构建的应用的用户开启 MFA 是另一项设置,位于项目的 Auth 设置中。开启 MFA 时,Supabase 会注销你的所有其他会话,你需要用验证码重新登录。

  1. 在电脑上登录 Supabase Dashboard(控制台)。
  2. 打开账户菜单,选择「Account」(账户),然后在侧边栏中选择「Security」(安全)——或直接访问 supabase.com/dashboard/account/security。
  3. 在「Multi-factor authentication」(多重身份验证)下,点击「Add app」(添加应用)。
  4. 在「Authenticator app name」(身份验证器应用名称)中输入一个你认得出的名称,点击「Generate QR」(生成二维码)。
  5. Supabase 显示二维码时,保持该页面打开,按下文所述添加到扩展中——密钥在「Unable to scan?」(无法扫描?)下——然后把扩展中的验证码填入「Authentication code」(验证码),点击「Confirm」(确认)。
Supabase 官方说明

将 Supabase 添加到 Authenticator

  1. 从 Chrome Web Store 安装身份验证器 2FA,并把它固定到工具栏,这样点一下图标就能打开。
  2. 保持 Supabase 显示二维码的页面不要关闭。点击 Authenticator 图标,然后依次选择「添加账户」→「二维码」→「从屏幕扫描QR码」。
  3. 账户会出现在列表中,并显示一个每 30 秒变化一次的六位数验证码。你可以随意重命名——名称只给你自己看。
  4. 回到 Supabase,把当前验证码填入确认框。如果它快要过期,就等下一个。
  5. Supabase 会提示双重验证已开启。之后每次登录都会要求输入验证码——点击扩展图标复制即可。

没有二维码,或者扫不出来?在 Supabase 的设置页面找到手动输入密钥的选项,复制密钥,然后在扩展中通过「添加账户」→「手动输入」→「密钥」添加。

免费安装身份验证器 2FA(Chrome 扩展)

Supabase 没有恢复代码——请添加第二个应用

Supabase 的文档说明它不提供恢复代码,而且如果账户的所有双重验证因素都丢失了,它无法恢复访问。它的建议是添加一个备用因素:点击「Add another app」(添加另一个应用)——只注册了一个应用时 Supabase 会提供这个选项——然后用另一台设备(比如手机)上的身份验证器扫描第二个二维码。Supabase 还建议把密钥保存在安全的地方,与主身份验证器分开存放。同时也请保持扩展的自动备份开启。

验证码不被接受?

最常见的是二维码变了:每当设置页面被刷新或重新打开,网站都会生成一个新的二维码,所以你先前添加的账户就对不上了。重新开始设置,添加现在屏幕上的二维码,并立即输入它的验证码。同一个网站有两个条目?用最新的那个。其他原因:验证码为什么被拒绝。

密钥是手动输入的?把它粘贴到TOTP 验证码生成器中,对比生成的验证码与扩展中的是否一致。如果不一致,说明密钥复制错了——请重新添加账户。

常见问题

哪些身份验证器应用可以用于 Supabase?
任何能生成标准基于时间的验证码的应用。Supabase 列举了 1Password、Authy、Google Authenticator 和 Apple 的钥匙串;Authenticator 扩展的工作方式相同,还能直接读取控制台上的二维码,所以不需要手机。
如果我无法使用身份验证器了怎么办?
如果注册过第二个身份验证器应用,就用它登录,然后替换丢失的那个。没有的话就没有退路了:Supabase 表示,出于安全原因,如果账户的所有双重验证凭据都丢失,它不会恢复访问。这就是第二个应用如此重要的原因。
为什么我打不开组织的项目?
该组织要求开启 MFA。组织所有者开启了「Require MFA to access organization」(访问组织需要 MFA),未开启 MFA 的成员会立即失去对其项目的访问权限。你仍然是成员:按上文所述开启 MFA,权限就会恢复。
这会为我的应用用户开启 MFA 吗?
不会。这些步骤保护的是你自己的 Supabase 账户,也就是你登录控制台所用的账户。为登录你基于 Supabase 构建的应用的用户开启 MFA,属于 Supabase Auth 的功能,需要在你的项目中单独设置。

验证码就在登录页旁边,一键即得

Authenticator 把你的 2FA 验证码保存在浏览器里,只存放在你自己的设备上——可免费使用、开源,无需注册账户,也不需要手机。内置本地备份和可选的密码保护。

免费安装身份验证器 2FA(Chrome 扩展)