如何在基于NodeJS
的Web框架的react
Express框架上实施API身份验证以及护照身份验证选项。
答案 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的详细信息。