我已经在我的 Node JS 后端使用 Passport JS 设置了 Google 身份验证。我还将它们存储在我的 MySQL 数据库中。后端已完成并在端口 3001 上运行。 现在我想创建一个登录页面并让人们在我的下一个 js 前端进行身份验证。但我不知道该怎么做。我应该从前端调用 Google 身份验证回调 URL 吗? 我已经搜索了一个小时但没有找到任何东西。我看到大家都在使用nextAuth。但我想使用node js作为后端,而不是next js。
完成身份验证后,您必须将其保存为 cookie 中的 JWT:
const token = jwt.sign({ foo: 'bar' }, SECRET_KEY);
在客户端中,您可以使用此方法在不访问
SECRET_KEY
的情况下解码JWT(出于安全原因,我们不通过SECRET_KEY
):
const decoded = jwt.decode(token)
但是如果你想用
SECRET_KEY
解码JWT,你必须将JWT传递到后端并解码它,如果解码为true,则将用户重定向到其他页面,如dashboard
,如果出错,则删除JWT cookie并重定向用户到login
页。
jwt.verify(token, SECRET_KEY, function(err, decoded) {
if(err){
//delete JWT cookie
//redirect to login page
}
if(decoded){
//make JWT token or redirect user to other page
}
});
您可以在此处阅读有关此库的更多信息:https://www.npmjs.com/package/jsonwebtoken