写一个简单的FlaskAPI,Token验证

下载flask-httpauth包,itsdangerous包

后者是用来生成临时身份令牌,检验token的

pip install flask-httpauth

pip install itsdangerous

model.py文件:(在model文件中user类下添加生成token方法)

# 生成token

@staticmethod

def generate_auth_token(user_id):

s = Serializer(Config.SECRET_KEY, expires_in=Config.EXPIRES_IN)

return s.dumps({'id': user_id}).decode('ascii')

authToken.py文件:(验证token文件)

from flask import g

from flask_httpauth import HTTPTokenAuth

from itsdangerous import SignatureExpired, BadSignature, TimedJSONWebSignatureSerializer as Serializer

from App.models import User

from App.settings import Config

#生成HTTPTokenAuth对象

authToken = HTTPTokenAuth()

#@authToken.verify_token用来重写HttpTokenAuth验证token方法

@authToken.verify_token

def verify_authToken(token):

g.user = None

s = Serializer(Config.SECRET_KEY)

try:

data = s.loads(token)

except SignatureExpired:

# 正确但是过期了

return False

except BadSignature:

# 错误的token

return False

#上面没有返回错误,下面就执行你的token验证逻辑并返回

return True

到这里验证token的文件写好了.

需要注意的是,后端收到登录请求,验证密码成功后返回token给前端.

前端在请求中携带token的时候,在`Authorization`请求头设置上

添加Bearer +token的样式.否则verify_authToken(token)将获取不到token.

如下

headers['Authorization'] = 'Bearer ' + token

看插件HTTPTokenAuth源码可以看到:

默认token的scheme是: Bearer.

def __init__(self, scheme='Bearer', realm=None, header=None):

super(HTTPTokenAuth, self).__init__(scheme, realm, header)

如果想修改,直接authToken.verify_token(scheme="")

python flask oauth_Flask之 flask_httpauth(HTTPTokenAuth)相关推荐

  1. 全栈Python Flask教程-建立社交网络

    Learn how to build a basic social platform with the Python Flask web framework. 了解如何使用Python Flask网络 ...

  2. python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...

    资源详情 r n t某课网好评度100%的Python Flask高级编程之RESTFul API前后端分离精讲 r n t t t第1章 随便聊聊 r n t t t聊聊Flask与Django,聊 ...

  3. python flask实现博客系统_基于Flask的博客网站设计与实现

    涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...

  4. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  5. python开源项目博客_Blog_mini首页、文档和下载 - Python Flask开源博客 - OSCHINA - 中文开源技术交流社区...

    使用Blog_mini,你完全不用担心博客的管理问题! Blog_mini是一个用Python Flask开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_min ...

  6. 用python+flask自己制作api(教程附源码)

    1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个 ...

  7. Build Docker image of a Python Flask app【转载】

    原文地址:https://stackoverflow.com/questions/41750366/build-docker-image-of-a-python-flask-app I'm tryin ...

  8. Python Flask web 项目零改动迁移至阿里云函数计算

    引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...

  9. 注意:python flask 里image文件 css文件 html文件都必须有固定存放位置!

    html文件放在templates文件夹里 css文件和image文件都放在static文件夹里 Flask 中 CSS 能否放在其他位置? 但貌似也是能够自定义位置的 Flask静态文件目录地址自定 ...

最新文章

  1. NVIDIA Turing Architecture架构设计(上)
  2. 数据结构:排序算法之插入排序
  3. 浙江义乌发现桥头遗址,将5000年中华文明,再前推4000年?
  4. 论程序员的自我修养——我在阿里干了十年开发
  5. 从网络访问计算机不能添加用户名,windows7 和 XP 能互相用\\ip访问,但是不能通过计算机名访问...
  6. 2018一季度app Top500榜单,谁在抢线上最后的流量?
  7. Java_MD5的使用
  8. 【报告分享】2022十大科技趋势-达摩院.pdf(附下载链接)
  9. LuoguP1402 酒店之王
  10. 样条曲线_Apollo规划算法基于样条曲线的平滑分析(一)
  11. .Net Webapi SignalR与微信小程序的交互
  12. 请不要再蹭我了,谢谢
  13. 阿里云负载均衡SSL证书配置(更新)
  14. MATLAB 自带RS编码函数中 gf 数据转化为 double 数组的方法
  15. Arcgis拓扑检查必须相互覆盖操作步骤
  16. 中职计算机说课稿三篇,中职计算机说课稿三篇.docx
  17. Java 源文件的命名规则
  18. iOS 14 Beta 5 来了,修复游戏闪退问题了,还有着几个变化!
  19. oracle order by 排序之降序 null 排最后
  20. FCPX插件:15种棱镜折射图文展示介绍动画效果 Prism Slideshow

热门文章

  1. funcode马里奥_MacGyvering马里奥·奥德赛跳绳挑战赛
  2. dictionary在python中什么意思_Python 字典(Dictionary)操作详解
  3. visual foxpro 程序员指南_好程序员云计算培训分享云计算中SOA是什么?
  4. linux系统修改为静态IP地址
  5. MySQL的安装,Python开发人员
  6. 大数据技术周报第 004 期
  7. Linux 基础知识系列第三篇
  8. Shiro简介+核心概念
  9. Python实现二分法搜索
  10. 用户登陆——数据库逻辑