3

我有一个由Django REST 框架 JWT Auth提供支持的 Django REST 应用程序和令牌身份验证

让我制定我的高级目标:

我的目标是为用户生成一个令牌,如果他提供正确的凭据,然后在成功登录后立即执行一些额外的操作。为简单起见,假设我想将“Hello”打印到控制台。

现在我的代码如下所示:

from rest_framework_jwt.views import obtain_jwt_token

urlpatterns = [
    url(r'^api-token-auth/', obtain_jwt_token),
]

我想做的是以下

  1. 获取obtain_jwt_token生成的令牌
  2. 如果认证成功,做一些额外的操作并将令牌返回给用户。

我迷失在所有与身份验证类相关的 Django 架构的丛林中。我是否理解正确,如果我使用 Django JWT 之类的第三方包,我的登录过程没有电源,并且在用户登录后无法执行其他操作?如果我想在登录过程中拥有更多权力,我必须完成 Django JWT 开发人员从头开始完成的所有工作吗?我可以以某种方式在 Django JWT 的顶部obtain_jwt_token添加一些操作吗?

4

1 回答 1

4

obtain_jwt_token只是对视图的引用,与任何视图一样,您可以将其子类化并引用它

class MySpecialJWT(ObtainJSONWebToken):
    def post(self, request, *args, **kwargs):
        response = super().post(request, *args, **kwargs)
        # foo bar
        return response
于 2017-02-21T20:44:26.203 回答