使用Vue.js和Express、js进行授权

使用Vue.js和Express、js进行授权,express,vue.js,authentication,Express,Vue.js,Authentication,我的Vue.js应用程序有问题。我有一个Express后端和授权,我使用passport.js来实现它。 接下来,我有一个Vue.js应用程序,其中应该是无法打开的页面,如果用户未经授权,我想检查它 我尝试使用cookies,但经过一些变体后,我最终对它感到困惑。我的浏览器正在为我的服务器保存cookies,我无法在客户端读取cookies,因为“仅http”标志,并且我无法使用get请求检查授权,因为idk(客户端上没有cookies?) 那么,最好的方法是什么呢?所以我在Express中添加

我的Vue.js应用程序有问题。我有一个Express后端和授权,我使用passport.js来实现它。 接下来,我有一个Vue.js应用程序,其中应该是无法打开的页面,如果用户未经授权,我想检查它

我尝试使用cookies,但经过一些变体后,我最终对它感到困惑。我的浏览器正在为我的服务器保存cookies,我无法在客户端读取cookies,因为“仅http”标志,并且我无法使用get请求检查授权,因为idk(客户端上没有cookies?)


那么,最好的方法是什么呢?

所以我在Express中添加了这样的标题

const allowCrossDomain = function (req, res, next) {
  res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
  res.header('Access-Control-Allow-Methods', '*');
  res.header('Access-Control-Allow-Headers', 'origin, content-type, accept');
  res.header('Access-Control-Allow-Credentials', true);
  next();
}
app.use(allowCrossDomain);
然后 检查授权

axios.get('url',{withCredentials:true}) 
和登录

axios.post('login',{withCredentials:true}) 

像这样

你有没有调查过JWT?应该有一个解决办法。在每个请求(从客户端到服务器)中放置一个JW令牌,然后在express中检查请求并验证令牌,如果确定,则将客户端重定向到请求的页面,否则发送错误在问题中指定是否正在进行SPA。@HelloThere什么??我不明白你在问什么对不起,我的意思是,我能用护照做点什么吗?或者jwt是唯一的选择?是的,我有SPA。
const allowCrossDomain = function (req, res, next) {
  res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
  res.header('Access-Control-Allow-Methods', '*');
  res.header('Access-Control-Allow-Headers', 'origin, content-type, accept');
  res.header('Access-Control-Allow-Credentials', true);
  next();
}
app.use(allowCrossDomain);