当前位置:  开发笔记 > 编程语言 > 正文

XSRF-如何设置跨域Cookie

如何解决《XSRF-如何设置跨域Cookie》经验,为你挑选了0个好方法。

我已经开发了REST API和两个JavaScript客户端(单页应用和本机应用-基于电子)。在这两个客户端中,我的用户都通过OAuth2流进行身份验证:

    发送用户密码到服务器

    获取access_token(以纯文本格式)和refresh_token(以httponly cookie格式)

    当令牌过期时,它们正在刷新它,将请求发送到/ refresh端点(服务器从cookie读取refresh_token)

现在,我想实现csrf保护。所以我在后端(春季)实现了它:

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and()
                .authorizeRequests().antMatchers("/", "/index.html", "/token/**").permitAll()
                .anyRequest().authenticated();
    }

我的SPA完美运行,Angular从cookie读取XSRF-TOKEN并将其发送到X-XSRF-TOKEN标头中。电子应用程序出现问题。它无权访问Cookie(由于来源不同-电子在file://url 上运行),因此无法设置X-XSRF-TOKEN标头。

我该如何处理?有什么方法可以使“跨域” cookie无效?或者,也许我可以通过电子魔术电子API以某种方式更改cookie的值(如果它可以访问文件系统,也许可以访问在计算机上创建的任何cookie)?

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有