一个简单的Flask扩展,实现Olin的认证
项目描述
Flask-OlinAuth实现了OlinApps认证。它自动为应用程序提供/olinauthlogin和/olinauthlogout路由,处理使用olinapps实际认证用户的过程。
从高层次来看,Flask-OlinAuth为您的应用程序提供了两个有用的组件,这两个组件都在example.py中得到了演示。
@auth_required
一个简单的函数装饰器,确保在显示视图之前用户已登录。如果未登录,则将用户重定向到登录门户,并带有正确的参数。
current_user
一个本地代理,允许您的所有视图获取当前用户,格式化为字典。
logout_user
将使当前认证的用户注销,允许您简单地创建自己的注销视图。
Flask-OlinAuth深受Flask-Login的启发,采用了结构和功能,并获得了很多知识。
安装
使用以下命令之一安装扩展
$ easy_install flask-olinauth
或者如果您已安装pip(您应该安装)
$ pip install flask-olinauth
示例用法
from flask import Flask, url_for
from flask.ext.olinauth import OlinAuth, auth_required, current_user
app = Flask(__name__)
SECRET_KEY = "yeah, not actually a secret"
DEBUG = True
app.config.from_object(__name__)
oa = OlinAuth(app, 'localhost:5000')
#initial OlinAuth, with callback host of localhost:5000, for local server
oa.init_app(app, 'localhost:5000')
@app.route("/")
def index():
if current_user:
responseString = "Awesome index, guess what? %s is logged in. Sweet, right?" % current_user['id']
else:
responseString = "<html>It is kind of lonely here... No users are logged in. <a href=%s>Checkout my secret</a> </html>" % url_for('secret')
return responseString
@app.route("/secret")
@auth_required
def secret():
return "I wouldn't normally show you this, but since %s is logged in, here is the secret: 42" % current_user['id']
if __name__ == "__main__":
app.run(debug=True)
项目详情
下载文件
下载您平台所需的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
Flask-OlinAuth-1.0.1.zip (8.3 kB 查看哈希值)
构建分发
Flask-OlinAuth-1.0.1.win32.exe (203.5 kB 查看哈希值)
关闭
Flask-OlinAuth-1.0.1.zip 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | e6b454b9cedcd2231ef4a2f37a54e1976598f219f3d9997fe8a27b1f488d545e |
|
| MD5 | 580c3ecfe5dc99bf620c7bd65aa8b24c |
|
| BLAKE2b-256 | 841d60c0c0bf4a745ae7c1c89b1a361fe16d497accd02f6b990eb519ca584056 |
关闭
Flask-OlinAuth-1.0.1.win32.exe 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 41decca287bc9db1b0ff8786041e79f4d118538830554f4ea2e74737a31808f7 |
|
| MD5 | d2b0ebc92c0c817d7f860383caf18ae5 |
|
| BLAKE2b-256 | f06c1baf2699c0731090d6db11538758e70c398a89c80e19bcf1e80393dff599 |