카테고리 없음

addCookie와 Set-Cookie

성으니:) 2024. 3. 22. 17:56

 

Servlet API 4.0부터 SameSite 속성과 호환되지 않아 setHeader/addHeader 솔루션을 사용해야 한다고 한다.

또한 모든 요청 쿠키(sameSite=Strict/Lax/None; Secure로 설정되지 않은 경우)는 응답에서 addHeader('Set-Cookie',...)를 통해 추가해야 한다. (추후 다른 브라우저에서도 거부되는 것을 방지하기 위해)

 

    boolean firstHeader = true;
    String sameSite = RequestUtil.isSecure(request) ? "; SameSite=None; Secure" : "; SameSite=Lax";
    for (String header : headers) { // there can be multiple Set-Cookie attributes
        if (firstHeader) {
            response.setHeader("Set-Cookie", String.format("%s; %s", header, sameSite));
            firstHeader = false;
            continue;
        }
        response.addHeader("Set-Cookie", String.format("%s; %s", header, sameSite));
    }

 

 

 

 

참고 사이트 
https://stackoverflow.com/questions/59969523/confused-between-addcookie-in-response-and-set-cookie-in-header