7-----Flask-HTTPAuth构建token认证体系

网上例子   https://github.com/miguelgrinberg/REST-auth

 

复制代码
Restful API不保存状态,无法依赖Cookie及Session来保存用户信息,自然也无法使用Flask-Login扩展来实现用户认证。所以这里,我们就要介绍另一个扩展,Flask-HTTPAuth。
pip install flask-httpauth
接下来创建扩展对象实例:

oauth:(用户每一次访问请求,都要带有一个凭证,类似令牌)
快递员--》投递快递---》如何进入小区(电子门禁)
1、快递有,某一个户主得账号密码,随意出入(不太安全)
2、快递员---》点击授权---》根据快递员得信息,给办法一个授权令牌-(token)--》可以投递快递(设置有效期(给令牌过去))

[root@localhost src]# cat a.py 
# coding=UTF-8
from flask import Flask,g
from flask_httpauth import HTTPBasicAuth
app = Flask(__name__)
auth = HTTPBasicAuth()

users = [
    {'username': 'xiaoluo', 'password': '123456'},
]
 
@auth.get_password
def get_password(username):
    for user in users:
        if user['username'] == username:
            return user['password']
    return None

@app.route('/')
@auth.login_required
def index():
    return "Hello, %s!" %auth.username()

if __name__ == '__main__':
    app.run(debug=True)


##执行测试:
[root@localhost src]# curl -u xiaoluo:123456 -i -X GET http://localhost:5000/
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 15
Server: Werkzeug/0.15.6 Python/3.6.4
Date: Thu, 17 Oct 2019 12:43:55 GMT
Hello, xiaoluo![root@localhost src]# 


###下面以一个git 上项目为例:
https://github.com/miguelgrinberg/REST-auth
复制代码

 

posted @   王竹笙  阅读(566)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示