django-oauth-toolkit的分支
项目描述
为Djangonauts提供的OAuth2工具!
- 如果您遇到以下一个或多个问题
您的Django应用公开了一个您想要用OAuth2身份验证保护的Web API,
您需要实现一个OAuth2授权服务器以提供对您的基础设施的令牌管理,
Django OAuth Toolkit可以帮助您提供所有端点、数据和逻辑,以便将OAuth2功能添加到您的Django项目中。Django OAuth Toolkit广泛使用优秀的OAuthLib,以确保所有内容均符合rfc规范。
支持
如果您需要支持,请向Django OAuth Toolkit Google Group发送消息
贡献
我们热爱贡献,因此请随时修复错误、改进事物、提供文档。只需遵循指南并提交PR。
要求
Python 2.6, 2.7, 3.3, 3.4, 3.5
Django 1.4, 1.5, 1.6, 1.7, 1.8, 1.9
安装
使用pip安装
pip install django-oauth-toolkit
将oauth2_provider添加到您的INSTALLED_APPS
INSTALLED_APPS = (
...
'oauth2_provider',
)
如果您需要OAuth2提供者,请将以下内容添加到您的urls.py中。请注意,oauth2_provider命名空间是必须的。
urlpatterns = patterns(
...
url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')),
)
文档
完整的文档位于Read the Docs上:完整文档。
许可协议
django-oauth-toolkit遵循BSD许可证。详细内容请见LICENSE文件。
路线图/待办事项(需要帮助)
OAuth1支持
OpenID连接器
支持非rel存储
变更日志
master
问题#299:‘server_class’现在可以通过Django设置进行插件化
问题#309:将py35-django19环境添加到travis
问题#308:使用紧凑语法为tox环境
问题#306:Django 1.9兼容性
问题#288:在生成令牌响应时添加额外信息
问题#297:修复了关于SessionAuthenticationMiddleware的文档
问题#273:通过资源实现通用的读写作用域
0.9.0 [2015-07-28]
oauthlib_backend_class现在可以通过Django设置进行插件化
问题#127:application/json内容类型现在支持使用JSONOAuthLibCore
问题#238:修复了错误情况下的重定向URI处理
问题#229:在获取新的刷新令牌时使访问令牌失效
添加了对oauthlib 1.0的支持
0.8.2 [2015-06-25]
修复迁移以实现两步操作,并允许从0.7.2升级
0.8.1 [2015-04-27]
South迁移修复。添加了新的Django迁移。
0.8.0 [2015-03-27]
文档的多个改进和细微修复
问题#185:修复了基本认证中的漏洞
问题#173:ProtectResourceMixin现在允许OPTIONS请求
修复了client_id和client_secret字符集
问题#169:在错误电子邮件中隐藏敏感信息
问题#161:在撤销令牌时扩展搜索到所有令牌类型
问题#160:在成功撤销令牌时返回空响应
问题#157:使用skip_authorization_completely类字段跳过授权表单
问题#155:允许自定义URI方案
修复了Django 1.7上的get_application_model
修复了非旋转的刷新令牌
问题#137:修复了基本模板
自定义client_secret长度
问题#38:为client credentials流创建不绑定到用户实例的访问令牌
0.7.2 [2014-07-02]
不要固定oauthlib
0.7.1 [2014-04-27]
为OAuth2相关模型添加数据库索引以改进性能。
警告:方案迁移对sqlite3数据库不起作用,迁移应手动执行
0.7.0 [2014-03-01]
创建了一个设置来指定默认的批准提示值。
改进文档
不要固定django-braces和six版本
0.7.0中的向后不兼容更改
使Application模型真正“可替换”(引入了新的非命名空间设置OAUTH2_PROVIDER_APPLICATION_MODEL)
0.6.1 [2014-02-05]
添加了对scope查询参数的支持,同时保持了与原始scopes参数的向后兼容性。
Application模型中的__str__方法在可用时返回name字段的内容
0.6.0 [2014-01-26]
支持oauthlib 0.6.1
支持Django开发分支
支持Python 2.6
通过approval_prompt参数跳过授权表单
错误修复
对文档的多个修复
问题#71:修复迁移
问题#65:使用OAuth2密码授权与多个设备
问题#84:将有关登录模板的信息添加到教程中。
问题#64:修复urlencode客户端id密钥
0.5.0 [2013-09-17]
支持oauthlib 0.6.0
0.5.0中的向后不兼容更改
backends.py模块已重命名为oauth2_backends.py,因此如果您正在扩展此模块,应更改您的导入
错误修复
问题#54:解决#50的认证后端提案
问题#61:修复贡献页面
问题#55:添加对使用请求体参数对机密客户端进行身份验证的支持
问题#53:引用Django安全但对oauthlib不安全的URL查询中的字符
0.4.1 [2013-09-06]
优化访问令牌验证查询
0.4.0 [2013-08-09]
新特性
添加应用程序管理视图,您不再需要管理员注册、更新和删除您的应用程序。
添加对可配置应用程序模型的支持
添加对基于函数视图的支持
0.4.0 版本的向后不兼容更改
SCOPE 属性在设置中现在是一个字典,用于存储 {‘scope_name’: ‘scope_description’}
URLs 中必须使用命名空间 ‘oauth2_provider’。请参阅问题 #36
错误修复
问题 #25:Oauth2RequestValidator 中的基本认证解析错误
问题 #24:在使用 HTTP Basic 认证时避免生成包含“:”冒号的 client_id
问题 #21:尝试授权应用程序时发生 IndexError
问题 #9:当 grant_type 是 implicit、authorization_code 或 all-in-one 时,default_redirect_uri 是必填的
问题 #22:作用域需要一个详细描述
问题 #33:在示例主页上添加 django-oauth-toolkit 版本
问题 #36:在 urls 中添加必填的命名空间
问题 #31:添加 OAuthToolkitError 和 FatalClientError 的文档字符串
问题 #32:添加 validate_uris 的文档字符串
问题 #34:文档教程部分1需要 corsheaders 解释
问题 #36:在 urls 中添加必填的命名空间
问题 #45:添加 AbstractApplication 的文档
问题 #47:添加视图装饰器的文档
0.3.2 [2013-07-10]
错误修正 #37:在 Django 1.5 上使用自定义用户时的迁移错误
0.3.1 [2013-07-10]
错误修正 #27:OAuthlib 刷新令牌重构
0.3.0 [2013-06-14]
错误修正 #13:在 validate_bearer_token 中填充请求的客户端和用户
错误修正 #12:修复文档中的路径
0.3.0 版本的向后不兼容更改
ScopedResourceMixin 中的 requested_scopes 参数更改为 required_scopes
0.2.1 [2013-06-06]
核心优化
0.2.0 [2013-06-05]
添加对 Django1.4 和 Django1.6 的支持
添加对 Python 3.3 的支持
添加默认的 ReadWriteScoped 视图
将教程添加到文档中
0.1.0 [2013-05-31]
支持 OAuth2 授权流程
0.0.0 [2013-05-17]
与 Django Circus 的 Daniel Greenfeld 讨论
Ignition
项目详情
下载文件
下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。