GitHub启用2FA后的28天检查期要完成什么
在GitHub账户成功配置双重认证(2FA)之后,账户会进入一个为期28天的检查期。这个阶段需要完成的事情并不复杂:在这28天内成功执行2FA,即可离开检查期。GitHub文档的表述是,配置2FA后账户进入28天检查期,用户可以在这28天内通过成功执行2FA离开该检查期;如果没有这样做,系统会在第28天提示用户在已有的GitHub会话中执行2FA。若届时仍无法完成2FA以通过检查,用户必须使用系统提供的快捷方式重新配置2FA设置,以保留对GitHub的访问权限。
需要把28天检查期与GitHub自2023年3月起实施的2FA注册要求区分开。根据文档,GitHub要求所有在GitHub.com上贡献代码的用户启用一种或多种形式的2FA。符合条件的用户会在所在群体被选中注册时收到通知邮件,这标志着45天2FA注册期的开始,同时会在GitHub.com上看到要求注册2FA的横幅提示。未收到通知的用户不属于被要求启用2FA的群体,但GitHub仍强烈建议启用。28天检查期发生在用户已经完成2FA配置之后,与45天注册期在时间长度上不同,两者不是同一环节。
检查期内执行2FA的方式,取决于用户配置的验证方法。文档列出的可选方式包括:在移动端或桌面端使用TOTP应用、通过短信接收验证码;在已配置TOTP或短信之后,还可以追加安全密钥、GitHub Mobile和通行密钥(passkey)作为其他2FA方式。GitHub强烈推荐使用TOTP应用配置2FA,并以安全密钥作为备份方法,而不是依赖短信。文档指出,TOTP应用比短信更可靠,尤其对于美国以外的地区;许多TOTP应用支持在云端安全备份验证码,设备失去访问后可以恢复。短信则存在被拦截的风险,不具备抗钓鱼攻击的能力,送达可靠性不足,且并非所有国家都支持。组织和企业还可以阻止已配置短信2FA的成员访问内容。
对于企业托管用户(managed users),文档给出了额外的资格限制:除非以setup user身份登录,否则无法为托管用户账户配置2FA;setup user以外的用户需要由管理员在其身份提供商(IdP)上配置2FA。此外,如果用户是要求2FA的组织中私有仓库的外部协作者,必须先离开该组织才能禁用2FA;如果用户是要求2FA的组织的成员或账单管理员,在禁用2FA期间将无法访问该组织的资源,禁用2FA会自动失去组织访问权限,需要重新启用2FA才能恢复;外部协作者在禁用2FA后还会失去对组织私有仓库私有分支的访问权限,必须重新启用2FA并联系组织所有者才能恢复访问。
从操作层面看,文档并未要求用户在28天检查期内每天验证,也未要求更换或追加2FA方法。检查期要完成的核心动作就是在28天内成功执行一次2FA验证,从而离开检查期。若在第28天被提示验证而无法完成,则应按照系统提供的快捷方式重新配置2FA,避免失去对GitHub的访问权限。