【问题标题】:Basic Auth in flask for only one user烧瓶中的基本身份验证仅适用于一个用户
【发布时间】:2017-09-11 18:06:25
【问题描述】:

我有一个关于使用 Flask / flask-restful 进行基本身份验证的问题。我一直在试图找出最好的方法来做到这一点。目前我有一个小程序,它包含一个资源,其中包含一些非常简单的 JSON。

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

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

【问题讨论】:

    标签: python json authentication flask flask-restful


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-17
      • 1970-01-01
      • 2022-07-12
      相关资源
      最近更新 更多