from flask import Flask, jsonify, g

from flask_script import Manager

from flask_httpauth import HTTPBasicAuth

from flask_restful import Api,Resource

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

auth = HTTPBasicAuth()

#认证的回调函数

@auth.verify_password

def verify_password(username_or_token,password):

if username_or_token == "wangbo" and password == "123456":

g.username = username_or_token

print(username_or_token)

return True

#再次尝试token

s = Serializer(app.config["SECRET_KEY"])

try:

print("88888")

print(username_or_token.encode("utf8"))

data = s.loads(username_or_token.encode("utf8"))

g.username = data["username"]

return True

except:

print("789")

return False

#认证失败的时候可以定制

@auth.error_handler

def unauthorized():

return jsonify({"error":"Unauthorized"})

api = Api()

app = Flask(__name__)

manager = Manager(app)

app.config["SECRET_KEY"] = "123456"

#2.创建资源

class UserAPI(Resource):

def get(self, uid):

return {"user":"获取单个"}

def put(self, uid):

return {"user":"修改"}

def delete(self, uid):

return {"user":"删除"}

class UserList(Resource):

decorators = [auth.login_required]

def get(self):

return {"user":"获取所有"}

#单个添加post请求添加认证

#@auth.login_required

def post(self):

return {"user":"post请求"}

#3.添加资源管理器

api.add_resource(UserAPI, "/user//")

api.add_resource(UserList, "/user/")

api.init_app(app)

#获取token

@app.route("/get_token/")

@auth.login_required

def get_token():

s = Serializer(app.config["SECRET_KEY"], expires_in=3600)

#print(s)

token = s.dumps({"username":g.username})

#print(token)

return jsonify({"token":token.decode("utf8"),"expires":3600})

if __name__ == '__main__':

manager.run()

python获取token并登录,Python token的获取和再次登录验证相关推荐

  1. 如何实现登录互踢 即如何实现当用户登录之后 如果在其他地方再次登录 则这边的用户自动退出系统...

    我先写一下基本思路,首先在用户数据库表里面加一个String token 然后 每次登录 随机生成一个六位数作为token, 分别存进数据库和session . 登录之后 在主界面写一个定时jq方法 ...

  2. python token发送请求_python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息...

    python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息 登录接口代码: 在这里插入图片描述 登陆后返回的结果是: 在这里插入图片描述 新增渠道接口: 新增渠道接口需 ...

  3. Python 技术篇-百度语音API鉴权认证获取Access Token实例演示

    百度语音官方鉴权认证文档 下面来为大家进行鉴权认证获取Access Token的演示: 首先需要创建自己的个人语音应用,在应用列表里进行创建. 百度语音个人应用列表 然后用这个应用里的 API Key ...

  4. python怎么获取token值_python 产生token及token验证

    1.前言 最近在做微信公众号开发在进行网页授权时,微信需要用户自己在授权url中带上一个类似token的state的参数,以防止跨站攻击. 在经过再三思考之后,自己试着实现一个产生token和验证to ...

  5. Python爬虫实战(5):模拟登录淘宝并获取所有订单

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  6. python vue token_Flask与Vue的token认证

    后端使用flask设计基于token认证方式的restful接口,前端使用vue.js全家桶,利用axios通讯. 感谢两篇文章的作者: 后端Flask Flask采用token认证方式,主要思路是通 ...

  7. python淘宝爬虫登陆功能和下单功能_Python 爬虫实战5 模拟登录淘宝并获取所有订单...

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 ...

  8. python淘宝爬虫登陆功能和下单功能_Python爬虫实战五之模拟登录淘宝并获取所有订单 | 静觅...

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了 ...

  9. python fastapi 获取所有header信息_Python爬虫实战五之模拟登录淘宝并获取所有订单...

    点击上方[Python与人工智能社区]→右上角[...]→[设为星标⭐] 经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家 ...

  10. Python爬虫实战五之模拟登录淘宝并获取所有订单

    本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 学会应对出现验证码的情况 体会一下复杂的模拟登录机制 探索部分成果 淘宝的密码用了AES加密算法,最终将密码转化为256位,在POS ...

最新文章

  1. layui根据条件显示列_layui按条件隐藏表格列的实例
  2. python —— 装饰器
  3. c语言栈解决迷宫问题,栈处理迷宫问题
  4. Mysql Engine【innodb,myisam】
  5. leetcode剑指 Offer 63. 股票的最大利润(动态规划)
  6. 网页中加载flash的方法
  7. 前端工程精粹(二):静态资源管理与模板框架
  8. python火车票查询系统_Python脚本实现12306火车票查询系统
  9. 锐捷虚拟机做服务器,笨方法解决锐捷校园网环境下VMware虚拟机无法上网问题(Fedora试用上网成功)...
  10. 安装程序遇到错误0x80240037
  11. android 距离测量工具,尺子距离测量app
  12. 身份证号中提取性别、年龄、年月日的Excel(WPS)公式
  13. MD5算法是否可逆?
  14. 材料成型及控制工程学计算机吗,材料成型及控制工程专业属于什么学科
  15. 如何训练神经网络的参数?,神经网络的参数计算
  16. mongoDB数据库mong.conf配置文件的问题
  17. 微信小程序游戏开发│智力测试游戏——button版
  18. Python城堡漫游记之第0章误入游戏空间
  19. 模式识别:C-means(K-means)聚类算法与分级聚类(层次聚类)算法
  20. java 封装 setter getter

热门文章

  1. 深藏不露!下拉列表设计灵感
  2. 圣诞海报模板|给设计师点灵感
  3. 复古风格海报设计欣赏|蒸汽波了解下
  4. 设计师们知道几个网站?属于设计师的网址导航!
  5. mysql base_MySQLbase
  6. php 去除小数点后,php-删除两位小数点后的数字,而不舍入该值
  7. 三大公有云托管 Kubernetes 服务 (EKS、GKE、AKS) 评估
  8. 互联网架构:屡试不爽的架构三马车
  9. java log4j 异步_Log4j2异步日志之异步格式化
  10. android优雅的一个侧滑