【问题标题】:How to I get token?我如何获得令牌?
【发布时间】:2021-07-18 17:43:01
【问题描述】:

我正在尝试实现基于令牌的身份验证。下面的代码适用于我正在观看的教程,但是当我运行它时,我无法获得任何令牌。这是代码:

  axios.defaults.baseURL = "http://localhost:3002";

  const [userLogin, setUserLogin] = useState({
    username: "",
    password: "",
  });

  const { username, password } = userLogin;

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

    const data = userLogin;
    
    const response = await axios.post("/login", data, {
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json",
      },
       credentials : 'include'
    });
  };

网络预览:

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 真正的问题是什么?
  • 它没有给我一个令牌。
  • 当您尝试调用端点 localhost:3002/login trought postman 时,您是否看到任何响应?
  • 我尝试使用 Postman,它给了我所有 login 对象。这里是对象: [ { "username": "a", "password": "a", "id": 1 } ] 有一些这样的登录对象
  • 所以问题不在于您的反应应用程序,在服务器上运行的代码不会返回您的令牌。您必须更改服务器端代码。

标签: javascript reactjs authentication axios


【解决方案1】:

我没有清楚地理解这个问题,但我认为你需要这样做。

yourwebscript (request) > 运行例如 nodejs js 的后端服务器 > 后端服务器返回一个令牌(您发送用户名和密码)。

现在你有了令牌,你可以用令牌发出请求了。

我想我已经明白了,您需要在成功或完成部分中使用 e.responseJSON 阅读 de response。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2019-10-25
    相关资源
    最近更新 更多