2FA/TOTP 确实好用,不提重要的互联网站点了,就连吉田他的 FF14 在国际服那边也可以加个 2FA 来增加安全性(国服叨鱼 NMSL)。不过这好事到 Steam 这边有点好到头了。
众所周知,Steam 这边的 2FA 和它的手机 APP 绑定了,那么要想开验证令牌,就必须要把它 APP 用着。现在的 APP 还好说,几年前的 APP 简直就是电子垃圾,如果说 Steam 自己 PC 上的客户端就是套壳浏览器已经很垃圾的话,那么这个手机 APP 简直是连垃圾乐色都不如。
这时候,有人就开始动心思想把 2FA 绑到自己中意的的 2FA 工具里了。不过倒也没那么简单,检索资料可以发现 Steam 自己的 2FA 和标准的 RFC 6238 还有点出入,用的 BASE 32 的密钥。不过话虽如此,诸如 KeePassXC 这样的工具也能支持了,所以不需要太担心,我们需要的就是把密钥给搞到手就行。
如果继续 Google 下去,恐怕能看到最常被提及的方法是在 Windows 上下载一个 Steam Desktop Authenticator(SDA),然后在它上面激活令牌,然后就能在本地文件里面找到密钥了。看起来很简单,你只需要在它里面输入账号密码,然后用个手机或者邮箱接收一下验证码,似乎很快就搞定了。
可惜如果你的 Steam 地区是中国的话,这里会有小岔子。中国地区的 Steam 账户在涉及到令牌操作的时候,其验证信息都不从邮箱发送,而是另外又有一个叫【快验证】的短信服务商给你发消息,这一步 SDA 似乎没法获取,因而每次在添加令牌的时候总是虽然能正常收到验证码,但是 SDA 那边认为遇到了错误,自动放弃添加。
到此基本上采用 SDA 的方法就失败了。下面将介绍一个可行的方法,需要一部已经成功 ROOT 的 Android 手机,没有也没关系,可以直接在 PC 上装个模拟器(如夜神等)。
注,iOS 用户无法操作。如果看网上信息可能会有说通过 iTunes 进行备份然后再用 iExplorer 浏览备份文件里面的 Steam 应用数据的方法。这个方法在 Steam 更新它的 APP 前是有效的,但是现在不行,应用的
./Document目录里不再明文保存令牌信息。
在 ROOT 后的手机中安装旧版的 Steam APP(2.1.4),安装旧版的原因和上方 iOS 的说明一样。之后还需要安装一个可以申请 ROOT 权限的文件浏览器(如RE、MIX等)。
在 Steam APP 中,登陆账号并在该设备上激活令牌。
该步骤出现这么一个问题。我在另一部手机已有令牌的情况下登录时可以直接采用利用本设备当令牌,这样会从【快验证】那边发一个验证短信。当绑定成功后,登陆界面下方直接会显示当前令牌(这是正常的,老版 APP 以前就是这个德行),然后在登陆界面中登录并输入下方的令牌后,Steam 弹出了网络错误。该步骤未进行再次复现,如果在未设置令牌的情况下登录直接出现了网络错误,可以尝试先在新版 APP 中添加令牌,然后再在老版令牌中直接转移。
令牌添加成功后,从文件管理器访问 /data/data/com.valvesoftware.android.steam.community/files/ 目录,该目录下有一个以 Steamguard 开头的文件,里面记录着你的令牌信息,直接打开,复制 secret 键(无前缀,BASE 32格式)的值进入受支持的工具里,即可正常添加该 TOTP。记得不要忘记恢复码(不过好像用手机短信验证也能移除?)。