Postman에서는 http://localhost:3000/posts 에서 localhost:3000와 같은 Host 부분이 변경된다면 일괄적으로 변경되도록 설정이 가능하다.
환경변수 생성
Postman의 왼쪽 탭에서 'Environments' 를 누른다.
왼쪽 상단에 'Create new environment' 를 눌러 새로운 환경을 생성한다.
Variable에 host를 입력 후 Initial value에 localhost:3000 을 입력한다.
참고로 Initial value는 팀과 공유되는 값이고, Current value는 Initial value를 오버라이딩하여 로컬로 사용하는 값이다.
오른쪽 상단을 눌러 지정한 환경을 눌러 선택한다.
AccessToken과 RefreshToken 환경변수 만들기
환경변수에서 refreshToken과 accessToken을 추가한다.
특별히 값을 넣지 않아도 추후에 값이 들어오도록 하는 빈 환경변수이다.
pm.test('Store access token', function() {
pm.environment.set('accessToken', pm.response.json().accessToken);
});
pm.test('Store refresh token', function() {
pm.environment.set('refreshToken', pm.response.json().refreshToken);
});
/auth/login/email API는 사용자가 email:password를 base64로 인코딩한 authorization 헤더로 요청했을 때 AccessToken과 RefreshToken을 반환해준다.
Scripts - Post-response 탭에서 위의 코드를 넣어주고 API를 실행(Send) 한다.
잘 실행되어 AccessToken과 RefreshToken일 발급되면 이것이 Postman의 Environments의 환경변수로 잘 들어가있는 것을 볼 수 있다.
Authorization 탭으로 설정하기
기존에 우리는 Header에 Authorization을 설정하여 'Basic [토큰]' 혹은 'Bearer [토큰]' 으로 서버로 보내도록 설정했다.
이 부분을 Postman에선 따로 탭으로 만들어두어 간편하게 사용할 수 있도록 구현되어있다.
1. Basic
우리가 Basic 토큰으로 보내는 곳은 한 곳에서 사용했다.
사용자가 Email, Password를 입력하여 로그인하는 API를 호출할 때이다.
기존의 Headers에 있는 Authorization은 삭제한다.
Postman 에서는 Authorization 탭이 따로 있는데, 이 부분에 Username과 Password를 입력하면 'username:password'를 자동으로 base64로 인코딩하여 서버로 보내준다.
아래 콘솔창을 확인해보면 Request Headers에 Authorization을 'Basic [토큰]'으로 보내주는 것을 알 수 있다.
2. Bearer
Bearer 토큰은 여러군데에서 사용된다. Bearer는 토큰을 검증하는 역할을 하기 때문에 AccessToken이 사용되는 모든 곳에 사용된다.
Post를 생성하는 API에 Authorization 탭에 Auth Type을 Bearer Token을 선택하면 Token을 입력하도록 되어있는데, Post 생성 시에는 AccessToken을 검증해야하기 때문에 AccessToken을 환경변수에서 가져오도록 설정하면 된다.
마찬가지로 AccessToken 갱신과 RefreshToken 갱신 API에도 Authorization 설정을 해주면 된다.
'NestJS' 카테고리의 다른 글
NestJS - Class Transformer (0) | 2025.02.28 |
---|---|
NestJS - Class Validation과 DTO (0) | 2025.02.28 |
NestJS - Custom Decorator (0) | 2025.02.27 |
NestJS - Guard (0) | 2025.02.27 |
NestJS - Pipe (0) | 2025.02.26 |