Steam 2FA密钥的获取过程
本文实现的目标:创建Steam APP令牌的时候获取到密钥,给自己的服务使用。让两边都能正常工作。 前提:Steam TOTP 非标准算法,你的密码存储服务/认证器需要支持Steam令牌码。
移除旧令牌。移除时会要求验证,各种验证方式都可以完成移除步骤。
下载ASF,预览版就可以: Releases · JustArchiNET/ArchiSteamFarm · GitHub
配置ASF,只需配置bot就行: ASF web config bot名称不重要。输入steam用户名密码并选择Enable启用这个配置(不要把用户名输错成昵称)。点击Download下载这个配置文件,文件名:
[bot名称].json。ASF解压后,到它的config目录,把下载的json配置文件放进去。

在开始前,请确保启用加速或其他解决Steam访问问题的工具,否则可能无法建立连接。
启动ASF根目录下的 ArchiSteamFarm.exe,此时应该会需要你输入一个通过邮箱/短信发送的验证码,请输入来完成登录。

按“C”进入命令输入模式,输入
2fainit [bot名称]
此时如果有邮箱/短信发送的验证码,请忽略。
打开手机steam,添加一个新令牌并按照正常流程完成绑定。
继续在 ArchiSteamFarm.exe 界面输入命令:
2fafinalized [bot名称] <刚刚配置的手机令牌码>(我只有一个bot,没写bot名也不要紧)
如果没有错误,查看config目录中应该会有
[Bot名称].maFile.NEW,使用文本编辑器打开它。
在文件中会看到这样的字段:
"uri": "otpauth://totp/Steam:steamid?secret=********************************&issuer=Steam"这里secret的值就是需要的密钥。 比如 Bitwarden / Vaultwarden 中就是 steam://********************************
到这里配置就完成了,Steam令牌码和第三方验证器会显示相同的验证码。
参考:https://meta.appinn.net/t/topic/79043