Python itsdangerous 生成token和验证token
代码如下
class AuthToken(object):
# 用于处理token信息流程:
# 1、更加给定的用户信息生成token
# 2、保存生成的token,以便于后面验证
# 3、对用户请求多来的token进行验证:
# 验证成功--->继续执行后面操作
# 验证失败--->返回状态码通知client带用户信息来重新生成token
def __init__(self, token_key):
self.token_key = token_key
def generate_token(self, expiration=3600):
# 生成token需要信息:id,secret,empire/然后对这些信息进行算法加密
token_obj = Serializer(SECRET_KEY, expires_in=expiration) #SECRET_KEY为自定义的salt 例如:'asdfasdf'
token = token_obj.dumps({'token_key': self.token_key})
return token
@staticmethod
def verify_auth_token(token):
# 验证token
token_obj = Serializer(SECRET_KEY)
try:
token_obj.loads(token) #如果token验证不成功,会报两种错误
except SignatureExpired: #时间过期
msg = 'valid token, but expired'
return msg
except BadSignature: #token错误
msg = 'Invalid token'
return msg
return True
def save_token_key(self):
# 仅需要保存self.token_key就可以,通过token_key进行实例化.将其保存在redis。这里进行redis连接和保存
redis_obj = RedisConnect()
redis_obj.client.hset('token', 'api_name', self.token_key)
Python itsdangerous 生成token和验证token的更多相关文章
- python中生成JWK(json web token)
#需要安装pyjwt import jwt import time # 使用 sanic 作为restful api 框架 def create_token(request): grant_type ...
- 【Python】Django【邮箱验证】 后端验证如何生成 token加密验证码 与如何解码!!!!
1.生成token验证码方案 ,使用itsdangerous 大宝剑, 可以序列化出验证码,并能设置过期时间 安装 itsdangerous pip install itsdangerous ...
- Python 生成 JWT(json web token) 及 解析方式
一.关于 jwt 的原理及概念可以自行在网络上搜索了解一下,这里推荐一篇写的比较好的博客 深入了解Json Web Token之概念篇 另附 JWT 的官方文档: https://jwt.io/int ...
- python Web生成token的几种方法,你确定不进来看看?
1.使用rest_framework_jwt from rest_framework_jwt.settings import api_settings jwt_payload_handler = ap ...
- 基于ASP.NET Core Data Protection生成验证token
ASP.NET Core Data Protection 不仅提供了非对称加密能力,而且提供了灵活的秘钥存储方式以及一致的加解密接口(Protect与Unprotect).Session中用到了它,C ...
- python 全栈开发,Day97(Token 认证的来龙去脉,DRF认证,DRF权限,DRF节流)
昨日内容回顾 1. 五个葫芦娃和三行代码 APIView(views.View) 1. 封装了Django的request - request.query_params --> 取URL中的参数 ...
- Spring Cloud中Feign如何统一设置验证token
代码地址:https://github.com/hbbliyong/springcloud.git 原理是通过每个微服务请求之前都从认证服务获取认证之后的token,然后将token放入到请求头中带过 ...
- Spring Security框架下Restful Token的验证方案
项目使用Restful的规范,权限内容的访问,考虑使用Token验证的权限解决方案. 验证方案(简要概括): 首先,用户需要登陆,成功登陆后返回一个Token串: 然后用户访问有权限的内容时需要上传T ...
- Spring Cloud OAuth2.0 微服务中配置 Jwt Token 签名/验证
关于 Jwt Token 的签名与安全性前面已经做了几篇介绍,在 IdentityServer4 中定义了 Jwt Token 与 Reference Token 两种验证方式(https://www ...
随机推荐
- 10.9 Xadmin
2018-10-9 13:53:39
- VUE----整理
-------------------------------------------------------------------VUE------------------------------ ...
- 如何查看目前正在使用的Windows10是哪个版本?
其实相当的简单: win+R 输入winver,就会出现如下图的信息: 就能看到版本信息了
- 实际体验 .NET Standard 2.0 的魅力
在我们的 .net core 大迁移工程中,有些项目完成了迁移,有些还未迁移,这就带来了一个烦恼——我们自己开发的公用类库如何在 .net core 与 .net framework 项目中共享?如果 ...
- imu_tk标定算法原理
imu_tk代码地址 https://bitbucket.org/alberto_pretto/imu_tk II. S ENSOR E RROR M ODEL 对于理想的IMU,加速度计三元组的3个 ...
- RMQ算法详解
RMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n)),查询O(1),所以是一个很快速的算法. 当然这个问题用线段树同样能够解决,算法复杂度为:O(N)~O(logN) . ...
- [No0000129]WPF(1/7)开始教程[译]
概要 在我使用了半年多 WPF 后,是时候写点关于 WPF 基础方面的东西了.我发表了一系列针对具体问题的文章.现在是到了让大家明白为什么说WPF是一款在界面开发上带来革命的产品了. 本文针对初级-中 ...
- 【每日一题】 UVA - 11809 Floating-Point Numbers 阅读题+取对数处理爆double
https://cn.vjudge.net/problem/UVA-11809 题意:很长orz 题解:算一下输入范围,发现用double是读不进来的,在这里wa了半天,(double 1e300 ...
- Xcode 10 正在编辑时 闪退
1.Xcode 10 正在编辑时 闪退 好在Xcode做了很好的及时保存机制和现场恢复措施,就算突然闪退,重新打开Xcode 还能看到之前的代码. 可以让Xcode的工程编译设置恢复成Xcode 之前 ...
- winform 科学计数法转为小数
先强制转换为decimal. 例如: double xyTolerance = 0.000000008983001; txtXYTolerance.Text = ((decimal)xyToleran ...