iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Flask扩展实现HTTP令牌token
  • 800
分享到

Flask扩展实现HTTP令牌token

令牌FlaskHTTP 2023-01-31 00:01:50 800人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

Token认证 在restful设计中,用户认证模式通常使用JSON WEB token,而不会使用传统的Http Basic认证(传入账号密码) token认证模式如下:在请求header中加入token flask中的实现 flas

Token认证

在restful设计中,用户认证模式通常使用JSON WEB token,而不会使用传统的Http Basic认证(传入账号密码)
token认证模式如下:在请求header中加入token

flask中的实现

flask扩展flask-httpauth提供了该认证方法

$ pip install flask-httpauth

首先实例化

auth = HTTPTokenAuth(scheme='Jwt')

上面的scheme就是token前面的字符串,可以自定义,这里我使用JWT
源代码如下:

它提供了一个装饰器,里面可以实现自己的token检验方法

@auth.verify_token
def verify_token(token):
    pass
#这里需要自定义

Flask中的itsdangerous提供了令牌生成和校验的方法

from itsdangerous import TimedjsONWebSignatureSerializer, BadSignature,\
    SignatureExpired

组合起来:

@auth.verify_token
def verify_token(token):
    s = TimedJSONWebSignatureSerializer(
        current_app.config['SECRET_KEY']
    )
    try:
        data = s.loads(token)
        print(data)
    except BadSignature:
        raise AuthFailed(msg='token不正确')
    except SignatureExpired:
        raise AuthFailed(msg='token过期')
    uid = data['uid']
    return True

通过验证后返回True代表token认证成功!
如果有需要登录的视图,就可以使用如下装饰器:

@api.route('/login_require/', methods=['POST'])
@auth.login_required
def func():
    pass

只有Token认证成功才能进入该视图

--结束END--

本文标题: Flask扩展实现HTTP令牌token

本文链接: https://www.lsjlt.com/news/182327.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Flask扩展实现HTTP令牌token
    Token认证 在restful设计中,用户认证模式通常使用json web token,而不会使用传统的HTTP Basic认证(传入账号密码) token认证模式如下:在请求header中加入token Flask中的实现 flas...
    99+
    2023-01-31
    令牌 Flask HTTP
  • Java怎么实现登录token令牌
    本文小编为大家详细介绍“Java怎么实现登录token令牌”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么实现登录token令牌”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、流程图二、Tokent...
    99+
    2023-06-30
  • Java如何实现登录token令牌
    目录一、流程图二、Token三、分析四、运行结果一、流程图 二、Token 1、token是一种客户端认证机制,是一个经过加密的字符串,安全性强,支持跨域 2、用户第一次登录,服务...
    99+
    2024-04-02
  • Flask中基于Token的身份认证的实现
    Flask提供了多种身份认证方式,其中基于Token的身份认证是其中一种常用方式。基于Token的身份认证通常是在用户登录之后,为用户生成一个Token,然后在每次请求时用户将该To...
    99+
    2023-02-20
    Flask Token身份认证 flask token认证
  • Flask中基于Token的身份认证如何实现
    今天小编给大家分享一下Flask中基于Token的身份认证如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Flask提...
    99+
    2023-07-05
  • php7扩展类怎么实现
    小编给大家分享一下php7扩展类怎么实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在php7中,有许许多多的扩展类,今天我们就以person类为例实现doin...
    99+
    2023-06-20
  • BeanUtils.copyProperties扩展--实现String转Date
    BeanUtils.copyProperties(target,source)和PropertyUtils.copyProperties(target,source)都能将源对象的属...
    99+
    2024-04-02
  • 如何实现C#扩展方法
    这篇文章将为大家详细讲解有关如何实现C#扩展方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在我们的编程生涯中我们要使用很多很多类库,这些类库有的是我们自己开发的,我们有她的代码,有的是第三方发布的,我...
    99+
    2023-06-17
  • HTML5怎么实现Javascript API扩展
    本篇内容主要讲解“HTML5怎么实现Javascript API扩展”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5怎么实现Javascript API...
    99+
    2024-04-02
  • jQuery如何实现扩展功能
    这篇文章将为大家详细讲解有关jQuery如何实现扩展功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。扩展我们需要的功能$.extend({ min: func...
    99+
    2024-04-02
  • WCF行为扩展怎么实现
    这篇文章主要讲解了“WCF行为扩展怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF行为扩展怎么实现”吧!WCF以其灵活的可扩展架构为开发者提供了方便,其中WCF行为扩展或许是应用...
    99+
    2023-06-17
  • VUE如何实现表头扩展
    今天小编给大家分享一下VUE如何实现表头扩展的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。ElementUI2.0的表格的扩...
    99+
    2023-07-04
  • WPF实现Interaction框架的Behavior扩展
    在WPF 4.0中,引入了一个比较实用的库——Interactions,这个库主要是通过附加属性来对UI控件注入一些新的功能,除了内置了一系列比较好用的功能外...
    99+
    2024-04-02
  • Kafka如何实现水平扩展性
    Kafka 实现水平扩展性的方法主要包括以下几个方面: 分区机制:Kafka 将数据分散存储在多个分区中,每个分区可以在不同的 ...
    99+
    2024-03-12
    Kafka
  • 如何使用vbs实现一个扩展时间段的dir命令
    这篇文章主要介绍了如何使用vbs实现一个扩展时间段的dir命令,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心代码set Arg=Wscript.Argument...
    99+
    2023-06-08
  • PHP扩展开发实战指南:从设计到实现,一步步构建PHP扩展
    1. PHP扩展概述 PHP扩展是一种将自定义功能添加到PHP语言中的机制,通过PHP扩展,开发人员可以构建自己的函数、类和常量,从而扩展PHP语言的功能。PHP扩展可以用于各种目的,例如: 添加对新数据类型的支持 添加对新函数的支持...
    99+
    2024-02-11
    PHP扩展 PHP扩展开发 PHP扩展设计 PHP扩展实现
  • mybatis-plus扩展批量新增的实现
    目录前言一、MP如何扩展批量新增方法?二、实现步骤1.扩展批插类2.编写sql注入器3.spring容器中实例化sql注入器总结前言 最近发现公司的微服务项目中没有统一的批量新增方法...
    99+
    2023-01-09
    mybatis-plus 批量新增 mybatis-plus 新增
  • java虚拟扩展方法怎么实现
    这篇文章主要介绍“java虚拟扩展方法怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java虚拟扩展方法怎么实现”文章能帮助大家解决问题。1、Java8允许在界面中实现特定的方法,只需在方法...
    99+
    2023-06-30
  • Kafka的集群扩展性如何实现
    Kafka的集群扩展性可以通过以下几个方法实现: 水平扩展:Kafka集群可以通过添加更多的broker节点来实现水平扩展。新的...
    99+
    2024-04-02
  • MongoDB分片与扩展性怎么实现
    MongoDB的分片功能是通过将数据分布到多个服务器上来实现扩展性。在MongoDB中,分片集群通常包含3个组件:路由器、分片服务器...
    99+
    2024-05-07
    MongoDB
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作