我正在尝试将 django 二因素身份验证 实现到我的 Rest API 中。是否有可能通过使用自定义视图和模型创建来实现这一点?因为,至少我是这么理解的,这个库主要基于默认的 django 模板和预定义的路由工作。 是否可以将此库与 Rest API 结合使用,还是应该使用另一个库?
有一个 Django REST 2FA 的包: https://github.com/merixstudio/django-trench
您可以使用 pyotp 库。它与大多数两因素身份验证器应用程序兼容,例如谷歌身份验证器。非常容易使用。
以下是如何使用 use 的示例:
base32 = pyotp.random_base32()
>>> base32
'ERAAADLXLDFBVL2JSR4RLR73DWFWYSTU'
>>> totp = pyotp.TOTP(base32)
>>> totp.now()
'206328'
每30秒会生成随机代码。用于生成与 QR 码扫描仪一起使用的配置 URI:
pyotp.totp.TOTP('ERAAADLXLDFBVL2JSR4RLR73DWFWYSTU').provisioning_uri(name='[email protected]', issuer_name='Secure App')
>>> 'otpauth://totp/Secure%20App:alice%40google.com?secret=ERAAADLXLDFBVL2JSR4RLR73DWFWYSTU&issuer=Secure%20App'
我想这个包会对你有帮助