Postman - Cookie 설정 문제
문제
- 이 녀석이 설정된 이후로…

- 쿠키 값을 받았음에도 불구하고

- 권한 오류가 발생하는 것을 확인할 수 있습니다.

fetch
는 credentials 속성을 추가해 해결할 수 있었지만,
postman에서는 그런 설정이 없는듯…? 🫠 해결 방법 1 (비추천)
- 경우에 따라 secure 속성을 false 처리하도록 코드를 수정한다.

하지만 이는 Tool 하나 사용하겠다고 불필요한 코드를 추가하고 보안을 포기하겠다는 것과 같다고 생각합니다.
해결 방법 2 - Postman test script 사용
Postman의 테스트 스크립트를 사용했습니다.
- 테스트 스크립트는 자바스크립트로 작성할 수 있고, 반환값을 반환되면 작동합니다.

로그인을 실행 했을 때 해당 쿠키 값을 콜랙션의 변수값으로 저장하려고 합니다.
설정 및 코드는 다음과 같습니다.

// 1 var cookies = pm.response.headers.filter(h => h.key == 'Set-Cookie'); // 2 var tokens = ''; if (cookies != null) { tokens = cookies.map(cookie => cookie.value); } pm.collectionVariables.set("tokens", tokens);
- 저희 프로젝트는 헤더의 Set-Cookie에 값을 반환하기 때문에, 해당 값만 필터링합니다.

- 쿠키 값이 없다면 빈값으로 설정, 있다면 해당 쿠키 값을
collectionVariables
의 변수에 설정합니다.

Collection의 변수로 설정되도록 했습니다.
쿠키 사용 방법

이제 요청을 보낼 때 Cookie라는 키 값에 설정한 token 변수를 설정하면??

어메이징…
- 🐶 만약에 전역(Global)으로 하고 싶으시다면
pm.globals.set(키, 값)
으로 설정하시면 됩니다. (⁉️ 글로벌 변수를 사용하는 경우에는 콜렉션 등의 같은 키의 지역변수는 해제를 해주셔야 합니다.)
