英语法语西班牙语

Ad


OnWorks 网站图标

flask-httpauth - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 flask-httpauth

这是命令flask-httpauth,可以使用我们的多个免费在线工作站之一在OnWorks 免费托管服务提供商中运行,例如Ubuntu Online、Fedora Online、Windows 在线模拟器或MAC OS 在线模拟器

程序:

您的姓名


flask-httpauth - Flask-HTTPAuth 文档

Flask-HTTPAuth 是一个简单的扩展,提供 Basic 和 Digest HTTP 身份验证
用于烧瓶路线。

基本 认证


以下示例应用程序使用 HTTP 基本身份验证来保护路由 '/':

从烧瓶进口烧瓶
从flask.ext.httpauth 导入HTTPBasicAuth

app = Flask(__ name__)
认证 = HTTPBasicAuth()

用户 = {
“约翰”:“你好”,
“苏珊”:“再见”
}

@auth.get_password
def get_pw(用户名):
如果用户名在用户中:
返回 users.get(用户名)
不返回

@app.route('/')
@auth.login_required
定义索引():
“你好,%s!” % auth.username()

如果__name__ =='__main__':
app.run()

获取密码 回调需要返回与给定用户名关联的密码
作为论据。 Flask-HTTPAuth 仅在以下情况下才允许访问 get_password(用户名) == 密码.

如果密码以散列形式存储在用户数据库中,则额外的回调是
需要:

@auth.hash_password
def hash_pw(密码):
返回 md5(密码).hexdigest()

当。。。的时候 哈希密码 提供回调时,将授予访问权限
get_password(用户名) == hash_password(密码).

如果散列算法需要知道用户名,则回调可能需要两个
参数而不是一个:

@auth.hash_password
def hash_pw(用户名,密码):
get_salt(用户名)
返回哈希(密码,盐)

为了获得最大程度的灵活性, 获取密码哈希密码 回调可以是
替换为 验证密码:

@auth.verify_password
def verify_pw(用户名,密码):
返回 call_custom_verify_function(用户名,密码)

DIGEST 认证


下面的示例与上一个类似,但 HTTP Digest 身份验证是
用过的:

从烧瓶进口烧瓶
从flask.ext.httpauth 导入HTTPDigestAuth

app = Flask(__ name__)
app.config['SECRET_KEY'] = '这里的密钥'
认证 = HTTPDigestAuth()

用户 = {
“约翰”:“你好”,
“苏珊”:“再见”
}

@auth.get_password
def get_pw(用户名):
如果用户名在用户中:
返回 users.get(用户名)
不返回

@app.route('/')
@auth.login_required
定义索引():
“你好,%s!” % auth.username()

如果__name__ =='__main__':
app.run()

请注意,因为摘要认​​证将数据存储在 Flask 的 会议 反对
配置必须有 密钥 设置。

API 文档


Flask_httpauth.HTTPBasicAuth
此类处理 Flask 路由的 HTTP 基本身份验证。

获取密码(密码回调)
该回调函数将被框架调用以获取
给定用户的密码。 例子:

@auth.get_password
def get_password(用户名):
返回 db.get_user_password(用户名)

哈希密码(哈希密码回调)
如果定义了,这个回调函数会被框架调用来应用
客户端提供的密码的自定义散列算法。 如果这
未提供回调将检查密码不变。 回调
可以接受一两个参数。 单参数版本接收
密码散列,而两个参数版本接收用户名和
密码的顺序。 单参数回调示例:

@auth.hash_password
def hash_password(密码):
返回 md5(密码).hexdigest()

示例二参数回调:

@auth.hash_password
def hash_pw(用户名,密码):
get_salt(用户名)
返回哈希(密码,盐)

验证密码(验证密码回调)
如果定义了,这个回调函数会被框架调用来验证
客户端提供的用户名和密码组合是有效的。
回调函数有两个参数,用户名和密码,
必须返回 or . 用法示例:

@auth.verify_password
def verify_password(用户名,密码):
user = User.query.filter_by(用户名).first()
如果不是用户:
返回False
返回 passlib.hash.sha256_crypt.verify(password, user.password_hash)

请注意,当一个 验证密码 回调提供了 获取密码
哈希密码 不使用回调。

错误处理程序(错误回调)
如果定义了,这个回调函数将在框架调用时调用
需要将身份验证错误发送回客户端。 回报
这个函数的值可以是作为字符串的响应主体,或者它
也可以是创建的响应对象 作出回应. 如果这个回调
未提供生成默认错误响应。 例子:

@auth.error_handler
def auth_error():
返回“<h1>拒绝访问</h1>”

login_required(view_function_callback)
认证成功后会调用该回调函数。 这个
通常是 Flask 视图函数。 例子:

@app.route('/私有')
@auth.login_required
定义私人页面():
return "仅适用于授权人员!"

用户名()
受此类保护的视图函数可以访问记录的
用户名通过这个方法。 例子:

@app.route('/')
@auth.login_required
定义索引():
“你好,%s!” % auth.username()

Flask.ext.httpauth.HTTPDigestAuth
此类处理 Flask 路由的 HTTP 摘要身份验证。 这 密钥
必须在 Flask 应用程序中设置配置才能使会话工作。
Flask 默认将用户会话存储在客户端作为安全 cookie,因此
客户端必须能够处理 cookie。 支持非 Web 浏览器的客户端
或无法处理 cookie 的 会议 接口 将会话写入
必须使用服务器。

获取密码(密码回调)
有关文档和示例,请参阅基本身份验证。

错误处理程序(错误回调)
有关文档和示例,请参阅基本身份验证。

login_required(view_function_callback)
有关文档和示例,请参阅基本身份验证。

用户名()
有关文档和示例,请参阅基本身份验证。

使用 onworks.net 服务在线使用flask-httpauth


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad