跳转到主要内容

一个django应用程序,通过委派给oauth2提供者来替换django admin认证机制。

项目描述

django-admin-oauth2

一个django应用程序,通过委派给oauth2提供者来替换django admin认证机制。

Build Status

支持

django-admin-oauth2应支持Python 2.7 & Python 3.6至3.11,pypy,以及Django 1.6至4版本。

安装

步骤1: pip install django-admin-oauth2 并将其包含在项目的需求中

步骤2:在项目的urls.py中包含django-admin-oauth2 urlconf

Django 1.x

url(r'/admin/oauth/', include('oauthadmin.urls'))

Django >= 2.0

re_path(r'/admin/oauth/', include('oauthadmin.urls'))

步骤3:在INSTALLED_APPS中包含oauthadmin

INSTALLED_APPS = (
    'oauthadmin'
)

步骤4:在项目的settings.py中安装中间件

MIDDLEWARE_CLASSES = (
    'oauthadmin.middleware.OauthAdminSessionMiddleware'
)

确保这位于'django.contrib.sessions.middleware.SessionMiddleware'之后

步骤5:设置所有正确的选项(以下为可用选项)

设置

  • OAUTHADMIN_GET_USER:这是一个函数,它接收oauth令牌并返回与当前登录用户对应的django.auth.models.User模型。您可以对此用户对象设置权限等。
  • OAUTHADMIN_CLIENT_ID:您的OAuth客户端ID
  • OAUTHADMIN_CLIENT_SECRET:OAuth客户端密钥
  • OAUTHADMIN_BASE_URL:所有与OAuth相关的查询的着陆点。
  • OAUTHADMIN_AUTH_URL:OAuth提供者URL
  • OAUTHADMIN_TOKEN_URL:OAuth承载令牌提供者URL
  • OAuth管理员_PING_INTERVAL(可选,默认为300):ping请求之间的最小秒数
  • OAuth管理员_PING:(可选,默认为None)此可选函数接受一个OAuth令牌,如果它仍然有效则返回True,如果它不再有效(如果他们已从OAuth服务器登出)则返回False
  • OAuth管理员_DEFAULT_NEXT_URL:(可选,默认为/admin)。此可选值是OAuth登录过程成功后您将到达的默认页面。
  • OAuth管理员_SCOPE:(可选,默认为['default')。这是一组授权范围。

测试

如果您想测试此应用程序,请运行以下Makefile命令

make test

注意

当CSRF验证令牌不匹配时,django-admin-oauth2将重定向回登录URL,以便它可以重试授权步骤。有时人们会使用过时的CSRF状态字符串将OAuth服务器添加到书签,这比显示错误页面要好。

变更日志

  • 1.3.0:添加对JSONSerializer的支持
  • 1.2.1:添加对django 4的支持,同时保留与Django 1.x的后向兼容性
  • 1.2.0:允许使用新参数OAUTHADMIN_SCOP覆盖OAuth范围
  • 1.1.3:修复adminsite中的错误(制表符与空格)
  • 1.1.2:添加对django 2的支持
  • 1.1.1:修复新设置未读取的错误
  • 1.1.0:添加新设置:OAUTHADMIN_DEFAULT_NEXT_URL
  • 1.0.2:支持python3
  • 1.0.1:在交换授权代码以获取auth令牌时发送重定向URI
  • 1.0.0:添加对django 1.8、1.9和1.10的支持。停止支持python 2.6。添加对python 3.5的支持。将测试套件更新为使用tox运行。
  • 0.2.6:在OAuth流程中回传原始URL,以便在授权过程完成后可以访问请求的URL。感谢@igorsobreira。
  • 0.2.5:修复了失败的ping不会立即使会话无效的错误,仅在第二次请求时才会无效。
  • 0.2.4:如果授权无效,则重定向到登录页面
  • 0.2.3:如果状态不匹配,则重定向到登录页面
  • 0.2.2:如果状态丢失(有时人们会将登录URL添加到书签),则重定向到登录页面
  • 0.2.1:添加了ping函数的测试,并修复了ping时间戳会话变量名称的错误
  • 0.2.0:添加了对ping认证服务器以确保令牌仍然有效的支持

项目详情


下载文件

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

源分发

django-admin-oauth2-1.3.1.tar.gz (7.7 kB 查看散列值)

上传时间

构建分发

django_admin_oauth2-1.3.1-py3-none-any.whl (7.1 kB 查看散列值)

上传时间 Python 3