【问题标题】:How to provide authentication for a single user (Node, Express)?如何为单个用户(Node、Express)提供身份验证?
【发布时间】:2020-09-14 16:30:11
【问题描述】:
我目前正在开发一个带有 React 前端和 Node/Express 后端的应用程序。该应用程序的某些功能我只希望管理员用户能够使用,所以我想实现一个需要用户名和密码的管理员登录表单。这将是此应用拥有的唯一用户。
我将如何实现这一点?我查看了诸如 passport.js 和 express-basic-auth 之类的技术,但我想知道是否有更简单的方法来实现这一点,因为只有一个用户。任何建议将不胜感激!
【问题讨论】:
标签:
node.js
express
authentication
【解决方案1】:
如果您想自己做,那么每当用户登录应用程序时,为用户创建一个 authtoken 并将其保存在后端并将 authoken 作为成功登录的响应发送。进一步将 authtoken 保存为前端的 cookie。接下来是执行将 authtoken 发送到服务器所需的任何操作。如果服务器端存在该 authtoken,则继续执行该操作,否则发送响应错误,说明 authtoken 对类似的东西无效。退出应用程序时,请记住使 cookie 过期并从后端删除 authtoken。
如果需要,您可以添加它,如果提供的 authtoken 不正确,您可以简单地从后端删除 authtoken,并将用户重定向到登录页面,使前端的 cookie 过期。