Skip to main content

Python 中的 Blizzard Authenticator 和 OTP 库

项目描述

蟒蛇-bna

要求

  • Python 3.6+

命令行使用

bna 是 python-bna 库的命令行界面。它可以存储和管理多个身份验证器,以及创建新的身份验证器。

请记住:在与您登录的设备相同的设备上使用身份验证器不如将设备分开安全。使用它需要您自担风险。

配置存储在~/.config/bna/bna.conf. 例如,您可以传递不同的配置路径bna --config=~/.bna.conf

创建一个新的验证器

$ bna new

如果您还没有验证器,它将被设置为默认值。--set-default否则你可以通过。

获取身份验证令牌

$ bna
01234567
$ bna EU-1234-1234-1234
76543210

获取验证器的恢复代码

$ bna show-restore-code
Z45Q9CVXRR
$ bna restore EU-1234-1234-1234 ABCDE98765
Restored EU-1234-1234-1234

获取 OTPAuth URL

显示 OTPAuth URL(用于设置二维码):

$ bna show-url
otpauth://totp/Blizzard:EU123412341234:?secret=ASFAS75ASDF75889G9AD7S69AS7697AS&issuer=Blizzard&digits=8

现在将其粘贴到您的 OTP 应用程序,或转换为 QRCode 并扫描,或手动输入密码。

这与标准 TOTP 客户端和密码管理器兼容,例如:

获取二维码

要在本地系统上编码为 QRCode,请安装“qrencode”

对于保存到磁盘的 PNG 文件:

$ bna show-url | qrencode -o ~/BNA-qrcode.png
# Scan QRCode
$ rm ~/BNA-qrcode.png

或者尝试在终端中显示 QRCode 作为文本输出:

$ bna --otpauth-url | qrencode -t ANSI

Python库的使用

请求新的身份验证器

import bna
try:
    # region is EU or US
    # note that EU authenticators are valid in the US, and vice versa
    serial, secret = bna.request_new_serial("US")
except bna.HTTPError as e:
    print("Could not connect:", e)

获取令牌

    # Get and print a token using PyOTP
    from pyotp import TOTP
    totp = TOTP(secret, digits=8)
    print(totp.now())

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

bna-5.1.0.tar.gz (9.8 kB 查看哈希

已上传 source

内置分布

bna-5.1.0-py3-none-any.whl (10.1 kB 查看哈希

已上传 py3