两个不同主域之间跨域设置cookie值

     应用说明:
     (1)两个网站主域名不同才需要这样跨域设置(如:***.a.com,***.b.com ,a 和 b 不同的情况)
     (2)chrome浏览器内核才需要这样跨域设置(chrome edge 360 需要,firefox新版本默认限制了,ie目前未试通)
     (3)浏览器登录a系统拿到cookie值,然后在a系统网页中带着cookie值参数调用b系统接口设置b主域cookie值。

1、提供cookie值一方,在网页中以ajax方式调用被设置cookie值方的接口,发送cookie值【网站可以是http/https协议】

    $.ajax({
        url:"https://***/***/setCookie",
        xhrFields: {
            withCredentials: true
        },
        data: {
            cookieName:'zxwCookieName',
            cookieValue:'我的测试cookie值',
            maxAge:30
        }
    })

2、被设置cookie值一方,提供无权限验证接口。【网站必须是https协议】

    接口前缀地址:https://***/***

    @ResponseBody
    @GetMapping("/setCookie")
    public void setCookie(HttpServletResponse response, HttpServletRequest request, String cookieName, String cookieValue, Integer maxAge){
        maxAge = maxAge == null ? 60*30 : maxAge;
        response.setHeader("Set-Cookie", cookieName+"="+cookieValue+";SameSite=None;Secure;path=/;Max-Age="+maxAge);
        response.addHeader("Access-Control-Allow-Credentials", "true");
        response.addHeader("Access-Control-Allow-Origin", request.getHeader("origin"));
    }

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值