Cookies ngx cookie是否为Angular Universal应用程序提供完整的身份验证服务

Cookies ngx cookie是否为Angular Universal应用程序提供完整的身份验证服务,cookies,mean-stack,angular-universal,angular-fullstack,websecurity,Cookies,Mean Stack,Angular Universal,Angular Fullstack,Websecurity,我正在构建一个Angular Universal MEAN(MongoDB、Express、Angular、Node)应用程序,但我正在寻找处理安全性的正确方法。我知道你不能在Angular Universal上使用localStorage。ngx cookie服务是处理安全性、授权等的完整方式吗。?我想做点这样的事 https://www.npmjs.com/package/ngx-cookie-service …或者这个 https://itnext.io/angular-8-how-to

我正在构建一个Angular Universal MEAN(MongoDB、Express、Angular、Node)应用程序,但我正在寻找处理安全性的正确方法。我知道你不能在Angular Universal上使用localStorage。ngx cookie服务是处理安全性、授权等的完整方式吗。?我想做点这样的事

https://www.npmjs.com/package/ngx-cookie-service
…或者这个

https://itnext.io/angular-8-how-to-use-cookies-14ab3f2e93fc
Cookie是否使用代币替换

它是否会替换后端app.js中的类似代码:

    app.use((req, res, next) => {
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept, Authorization"
  );
  res.setHeader(
    "Access-Control-Allow-Methods",
    "GET, POST, PATCH, PUT, DELETE, OPTIONS"
  );
  next();
});
app.use(“/api/posts”,postsRoutes)

而这个在后端

const jwt = require("jsonwebtoken");

module.exports = (req, res, next) => {
  try {
    const token = req.headers.authorization.split(" ")[1];
    const decodedToken = jwt.verify(token, process.env.JWT_KEY);
    req.userData = { email: decodedToken.email, userId: decodedToken.userId, isAdmin: decodedToken.isAdmin };
    next();
  } catch (error) {
    res.status(401).json({ message: "You are not authenticated!" });
  }
};  
如果您有一个链接,指向一个简单的平均堆栈角度Univeral应用程序的代码示例,该应用程序演示了使用cookie的正确方法,请与他人分享。或者,若这是一个复杂的解释,也许是一篇笔画宽泛的文章。谢谢你抽出时间。非常感谢


K

ngx cookies
不提供执行身份验证的“完整”方法,只是在使用angular universal时设置/获取cookies的一种简单方法

在后端,安装并使用cookieParser

const cookieParser = require('cookie-parser');
app.use(cookieParser());
然后,从cookie中获取jwt,而不是从自定义授权头获取jwt

const token = req.cookies.authorization.split(" ")[1];