zoukankan      html  css  js  c++  java
  • node设置res.cookie跨域问题解决

    由于后端需要加入验证功能,前端调用接口时后端根据token验证用户是否存在。

    每个方法都要验证,为了方便决定使用cookieParser和res.cookie()在后端设置cookie,这样的做法省去了让前端传入token的步骤,省事很多。

    真正去做的时候却发现出现以下情况:

    Response Headers里面已经有了Set-Cookie了,但是Application里面的cookie却没值

    经过一番查找才发现可能是涉及到了跨域问题

    于是我设置如下:

    前端:在request.js文件

    const request = axios.create({
      baseURL: process.env.VUE_APP_BASE_SERVER_01 + 
      process.env.VUE_APP_BASE_API,
      timeout: 15000,
      withCredentials: true,
    });
    

      

    后端:在app.js

    app.use(
      cors({
        credentials: true,
        origin: 'http://****:****', // web前端服务器地址
      })
    );

    之后就ok啦

    通过这个事例我才知道我上家公司为什么每个接口的后面都要加上id=*****,可能也是为了验证接口访问者的身份,但是没有在后端写入cookie,而是直接在?后面加入用户id。

    很显然这个要方便很多。

    今天又是学习到了新知识的一天~  Nice ending~

    最后一天啦,提前新年快乐虎虎生威~

  • 相关阅读:
    WebSocket 实战--转
    ELK原理与介绍
    linux命令:使用less从后向前查看日志信息
    Unity创作赛车游戏的四款插件
    Dolly
    shot
    Unity3D获取Android平台的电量
    Unity制作王者荣耀商业级手游
    unity热更新AssetBundle框架设计_框架篇
    喷气传动
  • 原文地址:https://www.cnblogs.com/pjw233/p/15753682.html
Copyright © 2011-2022 走看看