我有两个应用程序的 Django 项目。第一个应用程序是基于默认 Django 身份验证机制的简单登录/注册应用程序。它有两种形式,成功登录或注册后将被重定向到我的第二个应用程序。所以,我的第二个应用是基于 Vue.js 的单页应用。
我还使用了 djangorestframework 和 djangorestframework-jwt 包。
我了解 JWT 是如何工作的,但我不明白如何将它实施到我的项目中。例如,这是在我的视图中从登录表单发出 POST 请求后执行的代码的一部分:
...
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, email=username, password=password)
if user is not None:
login(request, user)
return redirect('spa')
...
所以,我得到了下一个问题:
- 成功登录后(重定向前)我应该怎么做才能制作令牌并发送响应
djangorestframework-jwt 提供包含在 url 中的视图
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token
那么,我应该在哪里调用 gain_jwt_token?成功登录后在 SPA 中?
- 为了使用 JWT,我应该为用户模型创建序列化程序吗?
- 在没有 RESTful 支持的情况下使用 *rest-jwt 是否正确?