为什么不设置Set-Cookie标头?

时间:2020-06-16 20:52:43

标签: reactjs cookies axios cross-domain response

我有一个问题,我不明白为什么未添加cookie。我在单独的服务器和各个端口上都有一个前端和后端,我在后端打了一个令牌。作为回应,他得到了,但是没有设置。有人可以看吗?安全和httpOnly被停用。在前端,我设置了withCredentials:true。

在前端:

axios.defaults.withCredentials = true;
axios.post('http://backendhost:8584/login', user).then(response => {
            if(response){
                   this.props.history.push('/home');
            }
});

Cors在api端:

   @Bean
    CorsConfigurationSource corsConfiguration() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.setAllowedOrigins(Collections.singletonList("*"));
        config.setAllowedMethods(Collections.singletonList("*"));
        config.setAllowedHeaders(Collections.singletonList("*"));

        UrlBasedCorsConfigurationSource source =
                new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return source;
    }

在身份验证服务器端设置cookie:

    response.addCookie(generateCookie("session-token", customer.getToken()));

    public Cookie generateCookie(String key, String value) {
        Cookie cookie = new Cookie(key,value);
        cookie.setMaxAge(60 * 60 * 24 * 365);
        cookie.setSecure(false);
        cookie.setHttpOnly(false);
        cookie.setPath("/");
        return cookie;
    }

我得到的是镀铬的

Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://frontendhost:8080
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json
Date: Tue, 16 Jun 2020 16:30:11 GMT
Expires: 0
Pragma: no-cache
Referrer-Policy: no-referrer
Set-Cookie: session-token=eyJhbGciOiJSUz; Max-Age=31536000; Expires=Wed, 16-Jun-2021 16:30:11 GMT; Path=/
transfer-encoding: chunked
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block

0 个答案:

没有答案
相关问题