Passport js Google auth 对 JWT 有意义吗?



我正在尝试实现Passport.js Google登录我的MERN浏览器。

但是,我有这个中间件:

const jwt = require("jsonwebtoken");
const config = require("config");
module.exports = async function(req, res, next) {
// Get token from header
const token = req.header("x-auth-token");
// Check if not token
if (!token) {
return res.status(401).json({ msg: "No token, authorization denied" });
}
// Verify token
try {
await jwt.verify(token, config.get("jwtSecret"), (error, decoded) => {
if (error) {
res.status(401).json({ msg: "Token is not valid" });
} else {
req.user = decoded.user;
next();
}
});
} catch (err) {
console.error("something wrong with auth middleware");
res.status(500).json({ msg: "Server Error" });
}
};

如您所见,JWT 要求令牌,因为我之前进行了 JWT 身份验证。

我应该在我的谷歌登录回调上写什么?我应该在回调上写 JWT 吗?这有意义吗?

router.get(
"/google/redirect",
passport.authenticate("google"),
async (req, res) => {
//here
}
);

我遇到了同样的问题。

我找到了建议:使用包含 JWT 的 cookie 重定向到预期的页面。

链接在这里: 脸书护照与智威汤逊

但是,如果我们将 jwt 令牌存储在 cookie 中,那么我们就不能将 API 用于移动应用程序。

最新更新