分享好友 最新动态首页 最新动态分类 切换频道
google authenticator python_python 实现google authenticator 认证
2024-12-26 23:30

1.背景

google authenticator python_python 实现google authenticator 认证

google auth 作为二次认证,大多场景下都使用在ssh 登录下,而且在ssh 的场景下使用

搭建相对比较简单,本文将介绍google auth 使用在应用平台的二次认证,如:单点登录

网站登录等平台,增加平台的安全性认证。

#ssh 的搭建可以参考另外一篇博客 https://blog.51cto.com/12113362/2050514

2.实现原理

1.使用pyotp 的python模块生成google auth 需要的密钥

2.根据密钥生成条形码图片

3.使用google authenticator 客户端扫描条形码,客户端根据时间及密钥经过算法

生成6位数的验证码

4.平台二次认证通过对输入的验证码进行校验,校验也是基于时间和密钥

3.代码实现

a.密钥生成

import pyotp

gtoken = pyotp.random_base32() #获取随机密钥,存于用户表中

b.生成条形码图片,根据用户名及密钥生成条形码图片

from qrcode import QRCode,constants

def get_qrcode(secret_key,username):

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

filepath = BASE_DIR + '/app/static/img/qrcode/'

data = pyotp.totp.TOTP(secret_key).provisioning_uri(username, issuer_name="Verfiy Code")

qr = QRCode(

version=1,

error_correction=constants.ERROR_CORRECT_L,

box_size=6,

border=4,)

try:

qr.add_data(data)

qr.make(fit=True)

img = qr.make_image()

img.save(filepath+secret_key+'.png') #保存条形码图片

return True

except Exception,e:

return False

c.客户扫描图片,前端页面验证用户名和密码后,显示对应的条形码图片

参考另外一篇博客:https://blog.51cto.com/12113362/2050335

d.校验验证码的正确性

import pyotp

def Google_Verify_Result(secret_key,verifycode):

t = pyotp.TOTP(secret_key)

result = t.verify(verifycode) #对输入验证码进行校验,正确返回True

msg = result if result is True else False

最新文章
视频教程助力学习新技能:帝国CMS的实用体验
在当今数字化时代,视频内容已经成为了信息传播的重要方式。作为一名从事网站建设和内容管理的工作者,我深刻体会到视频教程在学习新技能时的重要性。最近,我接触到了《帝国CMS视频教程》,这让我对内容管理系统的理解有了更深的认识。《
腾讯黑鲨游戏手机3系列发布:开创5G游戏手机新纪元
随着移动游戏市场的不断壮大,手机厂商们也纷纷加大对游戏手机的研发投入。近期,腾讯黑鲨正式发布了其游戏手机3系列,这一系列手机的推出标志着5G游戏手机的新时代正式开启。黑鲨的这一举动不仅为游戏爱好者带来了更好的游戏体验,也为整
今日投资参考:锂电排产上行 AI手机有望快速渗透
  昨日,三大股指盘中窄幅震荡上扬,创业板指、科创50指数等午后走低。截至收盘,沪指涨0.29%报3432.49点,深证成指涨0.33%报10848.42点,创业板指跌0.11%报2261.58点,科创50指数跌0.37%,北证50指数跌1.4%;沪深北三市合计成交17986亿
荒野乱斗账号绑定工具vivo下载
荒野乱斗账号绑定工具下载安装是专为荒野乱斗玩家制作,软件可以帮助玩家将荒野乱斗渠道服账号数据绑定至全新qq或微信账号内容,需要的朋友欢迎前来下载使用。为了更好地游戏玩家开展手机绑定,所以将原先的“荒野乱斗”手机游戏变为了“荒
艺术的AI进程:和谐共鸣、探索边界、发掘更多可能性|WISE
11月28-29日,为期两日的36氪WISE2024 商业之王大会于北京隆重召开,作为中国商业领域的全明星盛典,WISE大会今年已经是第十二届,在不断变化的时代里见证着中国商业的韧性与潜力。AI对于各行各业的影响逐步深入,同时也在创造新的可能。目
澳彩精准资料免费长期公开|标准化流程评估
  随着全球化的趋势,众多行业都在以数据为导向,追求更高的准确性。尤其是涉及概率和结果预测的领域,如体育赛事分析。本文将探讨如何通过标准化流程,实现精准资料的免费长期公开,旨在提升澳彩行业标准化、透明化和公平性。  在体育
贪婪洞窟H5双修流PVP策略怎么选择职业与搭配技能,才能在对战中获得优势?
在贪婪洞窟H5中,双修流PVP策略是许多玩家追求的强力玩法之一。通过合理选择角色技能和装备搭配,双修流不仅能够增强自身的生存能力,还能在对战中发挥强大的输出。这种策略的核心在于灵活运用不同职业的技能,最大化每个角色的优势,从而
生肖已解“攀山越嶺涉遠而來”代表什么动物最新热门
十二生肖各有千秋神秘文化引人深思。攀山越岭显身手涉远而来探吉凶。猴跃林间捷如飞鼠探地洞智无穷。千里奔腾马如龙跋山涉水志如虹。坚韧不拔精神在长途跋涉力无穷。牛耕田畴勤耕耘兔跃草莽静如松。蛇潜深山洞莫测羊走山川祥瑞浓。鸡啼破晓
分享常见的海外引流加粉获客渠道
分享常见的海外引流加粉获客渠道海外社交媒体外贸人想要开发客户和营销推广,使用海外社交媒体平台是很重要的渠道。越来越多的外贸人开始活跃在海外六大主流社交媒体平台(Facebook、Twitter、Instagram、LinkedIn、Pinterest、)上。TikTo
相关文章
推荐文章
发表评论
0评