【问题标题】:Where to put Django OAuth Toolkit middleware in Django 2?在 Django 2 中将 Django OAuth Toolkit 中间件放在哪里?
【发布时间】:2018-07-06 08:49:42
【问题描述】:

我正在尝试学习有关 Django OAuth 工具包的教程:https://django-oauth-toolkit.readthedocs.io/en/latest/tutorial/tutorial_03.html。说明说要更新 de MIDDLEWARE 如下:

MIDDLEWARE = (
    '...',
    # If you use SessionAuthenticationMiddleware, be sure it appears before OAuth2TokenMiddleware.
    # SessionAuthenticationMiddleware is NOT required for using django-oauth-toolkit.
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'oauth2_provider.middleware.OAuth2TokenMiddleware',
    '...',
)

然而,在我在 Django 2.0.1 中使用 startproject 生成的当前项目中,我同时看到了 SessionMiddlewareAuthenticationMiddleware,但没有看到 SessionAuthenticationMiddleware

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    # 'oauth2_provider.middleware.OAuth2TokenMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

我应该把OAuth2TokenMiddleware放在哪里? AuthenticationMiddleware 之后的注释行?

【问题讨论】:

    标签: python django oauth django-oauth


    【解决方案1】:

    SessionAuthenticationMiddleware 类已被删除 - 会话身份验证在 1.10 中已无条件启用。

    (见:https://docs.djangoproject.com/en/2.0/releases/2.0/#miscellaneous

    即是的,它应该在 AuthenticationMiddleware 之后

    【讨论】:

      猜你喜欢
      • 2021-05-29
      • 2019-01-20
      • 2012-04-20
      • 2014-11-04
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 2011-08-02
      相关资源
      最近更新 更多