只为一个用户

时间:2017-09-11 18:06:26

标签: python json authentication flask flask-restful

我对使用Flask / flask-restful的基本Auth有疑问。我一直试图找出最好的方法来做到这一点。目前我有一个小程序,它包含一个具有一些非常简单的JSON的资源。

由于这只是一个个人工具,我只有一个用户:我。我有一些设备可以轮询这条路线,并抓住那个JSON,然后解析它做其他事情。我发现的大多数教程和示例都涉及多个用户,登录,博客,用户注册数据库等等,这对我正在做的事情有点过分。

在一个只能由一个人使用过的路线中,在烧瓶中设置一些基本身份验证的最简单方法是什么?

1 个答案:

答案 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)