我对使用Flask / flask-restful的基本Auth有疑问。我一直试图找出最好的方法来做到这一点。目前我有一个小程序,它包含一个具有一些非常简单的JSON的资源。
由于这只是一个个人工具,我只有一个用户:我。我有一些设备可以轮询这条路线,并抓住那个JSON,然后解析它做其他事情。我发现的大多数教程和示例都涉及多个用户,登录,博客,用户注册数据库等等,这对我正在做的事情有点过分。
在一个只能由一个人使用过的路线中,在烧瓶中设置一些基本身份验证的最简单方法是什么?
答案 0 :(得分:1)
确定!我发现了一些适合我现在需要的东西。我只是把它留在这里。显然你不想像那样把USER_DATA打到那里,但是为了“只是弄清楚”,它就在那里。
http://polyglot.ninja/securing-rest-apis-basic-http-authentication-python-flask/
from flask import Flask
from flask_restful import Resource, Api
from flask_httpauth import HTTPBasicAuth
app = Flask(__name__)
api = Api(app, prefix="/api/v1")
auth = HTTPBasicAuth()
USER_DATA = {
"admin": "SuperSecretPwd"
}
@auth.verify_password
def verify(username, password):
if not (username and password):
return False
return USER_DATA.get(username) == password
class PrivateResource(Resource):
@auth.login_required
def get(self):
return {"meaning_of_life": 42}
api.add_resource(PrivateResource, '/private')
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True, use_reloader=False)