首页 > 解决方案 > 如何在使用 django、django-rest-auth 制作的网站中处理令牌密钥并做出反应?

问题描述

首先,我对使用 Rest API 和令牌还很陌生,我已经学习了 Django 和 React 的基础知识,并且我已经使用它们制作了一些项目,所以我正在尝试使用两者制作一个网站他们。

由于使用 django-rest-auth 进行注册很简单,因此只需 POSTING 用户数据即可处理。但是,在登录时,令牌被返回,我根本不知道如何处理它。我搜索了很多关于令牌的文章,但它们都是关于返回访问令牌和刷新令牌的 JWT。但是,django-rest-auth 返回一个令牌,我使用 React 中的“通用 cookie”将它保存在一个 cookie 中。由于我正在制作一个电子商务网站,并且我确实想通过允许用户更改他们的电子邮件、姓氏、名字和用户名来为网站添加一些功能,所以我确实需要知道帐户的用户名它是独一无二的。

所以,我想知道将用户名保存在 cookie 中是否可以,并且是一个好习惯,再次使用通用 cookie。如果有人向我展示一篇关于“如何处理令牌”或如何使用它的好文章,我将不胜感激,因为我对此知之甚少。

const handleLogin = async (e) => {
e.preventDefault();

const csrftoken = getCookie("csrf");
const url = "http://localhost:8000/rest-auth/login/";

const cookies = new Cookies();
await fetch(url, {
  method: "POST",
  headers:{
    'Content-Type': 'application/json'
  }, 
  body: JSON.stringify({
    username: username,
    password: password,
  }),
}).then((response) => {
  setResponseCode(response.status);
  response.json().then((key) => {
    cookies.set("token", key.key);
    setIsClicked(true);
  });
});
};`

这是我如何存储我获得的令牌,并从导航栏或其他反应组件使用它来检查用户是否已登录。

标签: djangoreactjstokendjango-rest-auth

解决方案


推荐阅读