해결된 질문
작성
·
12
0
안녕하세요! 강의 너무 잘 보고 있습니다!
강의를 보는 중 궁금한 부분이 생겨 질문드려봅니다!
@GetMapping("/callback")
fun callback(
...
return ResponseEntity.status(HttpStatus.FOUND)
.location(URI.create("https://localhost:3000")).build()
콜백 함수에 return을 이렇게 작성하셨는데요!
만약에 서블릿객체를 이용해서 쿠키를 담지 않고 아래와 같이 하는 방법은 어떻게 보시는지요...??
같은 동작을 할 것으로 예상은되는데 보편적인 스타일이 궁금합니다 ㅋ.ㅋ;
```
return ResponseEntity
.status(HttpStatus.FOUND)
.header("Set-Cookie", "authToken=$token; HttpOnly; Path=/; Max-Age=${60 60 24 * 7}")
.location(URI.create("http://localhost:3000"))
.build()
```
답변 2
0
안녕하세요 치즈초코우유님 질문 주셔서 감사합니다.
보내주신 당연하게도 개발자간에 스타일의 차이는 있겠고 저도 새당 코드를 구현할 떄 크게 뭔가 고려한 스타일은 아니였다보니 중요하게 생각하지 않았는데,
보내주신 코드 스타일이 좀 더 유지관리하기에는 좋은 포인트인거 같습니다. 직접적으로 전달을 해준다는것이 좀 더 유용한 형태는 맞는거 같아요.
저보다 더 뛰어나시네요 ㅎㅎ 질문주셔서 감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다. 치즈초코우유님.
코틀린으로 웹 애플리케이션을 개발할 때, 쿠키를 활용하여 사용자 인증 정보를 관리하는 방법에 대해 질문해 주셨군요! 주로 Spring Boot
환경에서 @GetMapping
과 ResponseEntity
를 사용하여 HTTP 응답을 설정하는 방식에 대해 고민하고 계시는 것 같습니다.
기존 방식: ResponseEntity.status(HttpStatus.FOUND).location(URI.create("https://localhost:3000")).build()
형태로 작성된 코드는 주로 리다이렉트를 위해 사용되는 방식입니다. 이는 단순히 사용자 브라우저를 특정 URL로 리다이렉트할 때 유용하며, 응답 내 쿠키 설정을 포함하지 않습니다.
대안 방식: 제안하신 대안에서는 ResponseEntity
에 HttpOnly
쿠키를 추가하여 사용자 인증 정보를 전달하는 방법을 소개하고 있습니다. 이 방식은 브라우저에 리다이렉트될 동시에 쿠키에 사용자 정보를 저장할 수 있어, 서버 간 세션 유지나 인증 정보를 위해 매우 유용합니다.
ResponseEntity
를 활용하여 쿠키 설정을 명시하는 것은 명확한 방식으로 정보를 브라우저에 전달할 수 있게 해줍니다.제안하신 방식과 같이 Set-Cookie
를 HTTP 응답 헤더로 설정하여 쿠키를 설정하는 방법은 매우 실용적이며, 특히 웹 보안 관점에서 좋은 접근법입니다. 이를 통해 클라이언트와 서버 간 상태 유지가 보다 안전하고 효율적으로 이루어질 수 있습니다.
아래의 기존 답변 링크를 참고하시면 더욱 구체적인 예제와 보편적인 구현 방법에 대한 논의가 이루어져 있어 많은 도움이 되실 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
헛; 아닙니다!! ㅠㅜ 강의 끝까지 들어보겠습니다! 답변 감사합니다!