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 ...
随机推荐
- print 与标准输出
print会自动添加换行符 其它的,没什么区别.有时候为了使用灵活,才会这么用. 例如你想把print的内容写向一下log文件,你可以这么做 stdout_bk = sys.stdout #备份一下标 ...
- ModelAttribue注解的使用
Spring中有很多注解,如RequestParam,PathVarible,SesstionAttribute,这些在开发是多尝试一下,可能用得到,ModelAttribute用的还挺多,可以以此为 ...
- Jmeter压力测试工具安装及使用教程
一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可. 3.我下载的是jmeter4.0版本, ...
- 洛谷P1908 逆序对【递归】
题目:https://www.luogu.org/problemnew/show/P1908 题意:给定一个数组,求逆序对个数. 思路: 是一个很经典的题目了.通过归并排序可以求逆序对个数. 现在有一 ...
- sql join 语句的小总结
CREATE TABLE Persons ( id INT PRIMARY KEY, LastName CHAR() NOT NULL, FirstName VARCHAR (), address V ...
- Yarn && npm设置镜像源
安装yarn npm i -g yarn yarn yarn config set registry https://registry.npm.taobao.org --global yarn con ...
- 回归cgi、fastcgi原理,解释、解决异常 fastcgi支持分布式计算的原因
小结: 0.结构图 client-request ---> cgi/fastcgi (interface/server) ---> cgi/fastcgi program/applica ...
- PHP之获取终端用户IP
// function get_real_ip() { $ip=false; $clientip = "clientip"; $xrealip = "xrealip&qu ...
- 篮球游戏AI预研
参考文献: 1.体育竞技游戏的团队AI http://blog.csdn.net/skywind/article/details/44922877 2.
- oracle优化:避免全表扫描
http://blog.csdn.net/onetree2010/article/details/6098259