跳转到主要内容

Flask路由的HTTP认证

项目描述

Flask-HTTPAuth

Build status codecov

一个简单的扩展,为Flask路由提供基本和摘要HTTP认证。

安装

通过pip安装是最简单的方法。

pip install Flask-HTTPAuth

基本认证示例

from flask import Flask
from flask_httpauth import HTTPBasicAuth
from werkzeug.security import generate_password_hash, check_password_hash

app = Flask(__name__)
auth = HTTPBasicAuth()

users = {
    "john": generate_password_hash("hello"),
    "susan": generate_password_hash("bye")
}

@auth.verify_password
def verify_password(username, password):
    if username in users and \
            check_password_hash(users.get(username), password):
        return username

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

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

注意:有关涉及密码散列和自定义验证回调的更复杂示例,请参阅文档

摘要认证示例

from flask import Flask
from flask_httpauth import HTTPDigestAuth

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret key here'
auth = HTTPDigestAuth()

users = {
    "john": "hello",
    "susan": "bye"
}

@auth.get_password
def get_pw(username):
    if username in users:
        return users.get(username)
    return None

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

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

资源

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源代码分发

Flask-HTTPAuth-4.8.0.tar.gz (230.3 kB 查看散列值)

上传时间 源代码

构建分发

Flask_HTTPAuth-4.8.0-py3-none-any.whl (7.0 kB 查看散列值)

上传时间 Python 3

由以下支持