功能全面且安全的OAuth提供者基础
项目描述
Flask-OAuthProvider是一个扩展,它使得使用OAuth保护您的视图变得简单
@provider.require_oauth() def user_feed(self): ...
它通过使用领域提供了对访问的细粒度控制
@provider.require_oauth(realm="photos") def user_photos(self): ...
以及OAuth参数,如客户端密钥和令牌
@provider.require_oauth() def whoami(self): return request.oauth.client_key
注意:此扩展不提供OAuth客户端。 对于此,请简单地使用requests,它具有内置的OAuthLib支持的OAuth。如果您想了解更多关于OAuth的信息,请查看hueniverse上的优秀指南或深入了解可读性强的OAuth 1 RFC 5849规范。
示例
请查看/examples文件夹中的示例应用程序,以查看一个完整工作、SQLite / SQLAlchemy支持的OAuth提供者的示例。
在运行演示之前,您需要安装一些依赖项(强烈推荐使用virtualenv)。这很快就会被pip的单行替换…
$ virtualenv venv $ source venv/bin/activate (venv)$ git clone https://github.com/idan/oauthlib.git (venv)$ python oauthlib/setup.py install (venv)$ git clone https://github.com/ib-lundgren/flask-oauthprovider.git (venv)$ python flask-oauthprovider/setup.py install (venv)$ pip install flask-openid sqlalchemy
安装后,您可以运行演示应用程序
(venv)$ python flask-oauthprovider/examples/runserver.py
使用方法
Flask-OAuthProvider建立在OAuthLib及其OAuth 1 RFC 5849服务器类之上。您需要实现一些从服务器(OAuthLib)或OAuthProvider(Flask-OAuthProvider)抽象方法。这些方法主要是数据存储或检索方法。对您使用的持久化系统没有假设,因此您可以自由使用任何您认为合适的。
在实现您的提供者类时,您需要仔细阅读OAuthLib服务器文档和OAuthProvider源。
实现指南即将推出,请随时查看Flask-OAuthProvider和OAuthLib如何融入OAuth工作流程的概述图片。
当你拼凑出一个闪亮的提供者类时,使用OAuth来保护你的API将变得容易
app = Flask(__name__) provider = YourProvider(app) @app.route("/my_secrets") @provider.require(realm="secrets") def my_secrets(self): ...
安装
当OAuthLib 0.2.0在pypi上可用时,Flask-OAuthProvider将很容易使用pip安装
pip install flask-oauthprovider
项目详情
关闭
flask-oauthprovider-0.1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 96a3fc8256ff1bc1fdca944727d9ae10d75e338d4bbb8f54b9ded997952ccd1c |
|
MD5 | ceee372a6ad7cf0a079da99018941387 |
|
BLAKE2b-256 | 3470b933658a879cd2dbb5d3ab19440db48d52f0b94a8d034b7b546f92bcc5af |