【发布时间】:2018-11-16 21:05:25
【问题描述】:
我不确定我是否正确。请给我一个提示或方向。
我使用 Django 设置了我的 Web 服务,还使用 Django REST 框架使用 React Native 制作了移动应用程序。 Django 使用基本会话身份验证,但 Django REST API 使用令牌身份验证来处理来自移动应用程序的请求。
我想在我现有的 Django web 中实现小型 ReactJS 应用程序。在这个阶段,我认为我的小型 React 应用程序将需要身份验证令牌来与 REST api 进行通信。
所以,我的想法是,当用户登录 Web 登录页面时,需要从 API 接收用户的 API 令牌并保存到 cookie 或 localStorage 中,同时在 Django Web 服务中处理正常的登录过程。因为我不想让用户再次登录以在我的网页上运行 react 应用程序以获取身份验证令牌。
我走对了吗?如果是这样,我怎样才能使它起作用?请参考我在 Django login view.py 中的代码 我是否需要一些代码才能获取 API 身份验证令牌并将其保存到客户端?
def Login(request):
if not request.user.is_authenticated:
if request.method == "POST":
email = request.POST['email']
password = request.POST['password']
user = authenticate(email = email, password = password)
if user is not None:
login(request, user)
messages.add_message(request, messages.SUCCESS, request.user.nickname + ' Welcome!')
return redirect('Search')
else:
messages.add_message(request, messages.WARNING, 'Please check Email / Password again')
return redirect('login')
else:
form = LoginForm()
return render(request, 'login.html', {'form': form })
else:
return redirect('main')
【问题讨论】:
标签: django django-rest-framework