【问题标题】:How to extend JWTAuthentication in django- rest-framework如何在 django-rest-framework 中扩展 JWTAuthentication
【发布时间】:2020-05-14 22:07:28
【问题描述】:

我创建了 CustomAuthentication 类,这个类扩展了 JWTAuthentication 类。我把这个类放在文件 auth.py 和 settings.py 的相同位置。

在 settings.py 我修改:

REST_FRAMEWORK = {

'DEFAULT_PERMISSION_CLASSES': (

'rest_framework.permissions.IsAuthenticated',

),

'DEFAULT_AUTHENTICATION_CLASSES': (

'rest_framework_simplejwt.authentication.JWTAuthentication',

),

}

REST_FRAMEWORK = {

'DEFAULT_PERMISSION_CLASSES': (

'rest_framework.permissions.IsAuthenticated',

),

'DEFAULT_AUTHENTICATION_CLASSES': (

auth.CustomAuthentication',

),

}

但它不起作用,它会抛出

“无法为 API 设置“DEFAULT_AUTHENTICATION_CLASSES”导入“auth.CustomAuthentication”。ImportError: 模块“auth”未定义“CustomAuthentication”属性/类。”

这里是auth.py的内容:

from rest_framework_simplejwt.authentication import JWTAuthentication
class CustomJWTAuthentication(JWTAuthentication):
    is_valid = True

这里有什么问题?请帮忙。

非常感谢。

【问题讨论】:

  • 你在settings.py中导入auth.py文件了吗?
  • 尝试 'appname.auth.CustomAuthentication' 其中 appname 是您的应用程序的名称。
  • @HeisAif:如何将答案标记为已接受?
  • 点击答案左侧的复选标记,将其从灰色切换为绿色填充。

标签: django django-rest-framework django-rest-framework-simplejwt


【解决方案1】:

auth.py 中的类名是“CustomJWTAuthentication”,而您在 settings.py 中使用的是“CustomAuthentication”,请将其更改为相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2016-04-08
    • 2019-10-07
    • 2015-04-29
    相关资源
    最近更新 更多