在React应用中使用访问令牌实现身份验证的最佳方法是什么?

时间:2019-10-30 12:49:51

标签: javascript node.js reactjs express

我是React的新手。尝试在React Web应用程序中使用Express.js实现身份验证。我在后端的响应cookie中使用HttpOnly标志设置了令牌,但无法在前端(反应应用)读取它。我已经看过一些cookie教程,并且了解到,如果它是HttpOnly,它将无法在Javascript中读取。

我曾想在React应用程序上创建cookie,但是它们将不是HttpOnly,这会使我的网站容易受到攻击。使用访问令牌在React应用中实现身份验证的最佳方法是什么?

我已使用最大使用期限,安全性和域设置cookie,但是无法在React应用程序中使用HttpOnly标志访问cookie,而在React应用程序中设置cookie不会使它们成为HttpOnly。

1 个答案:

答案 0 :(得分:0)

我们不需要存储或传递令牌;我们甚至无法通过JavaScript访问它,因为它存储在HttpOnly cookie中。

与其从服务器端响应中重新获取访问令牌,不如在其发送响应时使用服务器端代码来设置cookie。使用axios,并且withCredentials属性向Axios指示它应与请求一起发送API域的cookie。 参考:https://www.bignerdranch.com/blog/react-data-layer-part-3-login/