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
本文来自博客园,作者:王竹笙,转载请注明原文链接:https://www.cnblogs.com/edeny/p/12631502.html

浙公网安备 33010602011771号