Express和身份验证中的身份验证

时间:2018-05-19 15:16:22

标签: express passport.js

如何在基于NodeJS的Web框架的react Express框架上实施API身份验证以及护照身份验证选项。

1 个答案:

答案 0 :(得分:0)

您必须通过cookie或会话实现身份验证机制。成功登录后,您将在浏览器中设置一个cookie,在每个HTTP请求中,您将有权访问cookie数据,以检查登录用户浏览器的req。

创建一个中间件函数,该函数将检查每个API请求的req对象中的有效cookie数据。

如果用户未登录并尝试通过API调用访问特定资源,则请求将被授权(401)。

您需要更改您的登录API。

function login(req, res){
    // Your logic for DB checks and to validate credentials will go here

    // On valid credentials, you can set the cookie like this
      res.cookie(cookieName, cookieData, cookieOptions);
}
检查身份验证的

和中间件功能可以像这样

function checkSession(req, res, next) {
  if(!req.cookies || !Object.keys(req.cookies).length){
    res.send(401)
  }
  else next();
}

您可以在此处找到有关如何使用cookie-parser的详细信息。