V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
minskiter
V2EX  ›  程序员

如何解决前端 axios get 跨域获取后端时无法保存 cookie

  •  
  •   minskiter · 2019-07-26 21:31:28 +08:00 via Android · 4075 次点击
    这是一个创建于 1972 天前的主题,其中的信息可能已经有所发展或是发生改变。
    后端 repsonse headers 里在 chrome 开发者 network 可以看到有 set-cookie 字段;
    后端已经配置好跨域,允许携带凭据
    前端已经设置 withCre******=ture

    但是 chrome console 输出 document.cookie 为空,chrome 设置里可以看见前端域名的 cookie 但是也是空的
    12 条回复    2019-07-27 13:44:14 +08:00
    Trim21
        1
    Trim21  
       2019-07-26 21:33:43 +08:00 via Android
    跨域的 cookies 是存在那个域名下的,不是当前这个域名下的
    arrow8899
        2
    arrow8899  
       2019-07-26 21:43:29 +08:00
    域名一样吗
    arrow8899
        3
    arrow8899  
       2019-07-26 21:46:31 +08:00
    抱歉,没看清,跨域的话肯定是在 XHR 的域名下面的。
    ineed
        4
    ineed  
       2019-07-26 22:41:33 +08:00
    检查下 cookie 的 httponly 属性
    deepdark
        5
    deepdark  
       2019-07-26 22:50:35 +08:00 via Android   ❤️ 1
    不同域设不了,你可以让后端把 cookie 放在返回值里然后前端设置
    IsaacYoung
        6
    IsaacYoung  
       2019-07-26 23:03:21 +08:00
    Access-control-allow-credentials
    sunjourney
        7
    sunjourney  
       2019-07-26 23:27:41 +08:00
    httponly 设置的 cookie 不允许 js 访问,防 xss
    minskiter
        8
    minskiter  
    OP
       2019-07-26 23:29:35 +08:00 via Android
    问题解决了,后端 dotnet 再加设置 cookiepolicy.none 就成功在前端设置了 cookie
    minskiter
        9
    minskiter  
    OP
       2019-07-26 23:31:24 +08:00 via Android
    @sunjourney 恩,是的,后端已经把 httponly 设置为 false 了,但是还是不行的
    minskiter
        10
    minskiter  
    OP
       2019-07-26 23:34:10 +08:00 via Android
    @IsaacYoung 嗯,后端跨域已经配置,凭据已经允许了
    minskiter
        11
    minskiter  
    OP
       2019-07-26 23:35:02 +08:00 via Android
    @deepdark 噢噢
    ted94
        12
    ted94  
       2019-07-27 13:44:14 +08:00
    可以跨域设置 cookie 么= =!貌似根据同源策略是不允许的哦。除非是子域设置父域的 cookie ( a.a.com 设置 a.com 的 cookie,但 a.com 不能设置 b.com 的 cookie )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:50 · PVG 05:50 · LAX 13:50 · JFK 16:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.