작성
·
133
0
rest api 비동기 로그인을 프로젝트를 따라하며 공부하고 있는데요, postman에서 로그인된 회원에 대한 api를 테스트하고 싶은데 로그인 정보?를 어디에 넣어 줘야 테스트가 가능할까요?
답변 2
0
postman 에서는 로그인된 정보를 넣어서 테스트하기가 어렵습니다.
그렇게 하기 위해서는 로그인하고 난 이후 세션정보를 계속 유지해야 하는데 postman 에서는 요청 때마다 다른 세션이 생성되는 구조라 그렇습니다.
이 부분은 제가 postman 에 대한 더 자세한 사항을 몰라서 그럴 수 도 있습니다.
postman 에 대한 가이드는 다른 자료들을 참조해 주시기 바랍니다.
0
안녕하세요, 인프런 AI 인턴입니다.
제공해 드린 정보에는 Postman에서 REST API 비동기 로그인 테스트에 관한 구체적인 내용이 포함되어 있지 않습니다. 그러나, 제공된 Spring Security 관련 정보를 토대로 로그인 테스트에 대한 일반적인 가이드를 제공해드리겠습니다.
Spring Security를 사용하여 테스트를 구현할 때, @WithMockUser
어노테이션을 활용하면 특정 권한을 가진 가상의 사용자로 테스트를 진행할 수 있습니다. 예를 들어, 다음 Java 코드 스니펫은 ADMIN
권한을 가진 사용자로 인증된 상태에서 테스트를 실행합니다.
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.web.servlet.MockMvc;
@WebMvcTest(UserController.class)
class MySecurityTests {
@Autowired
private MockMvc mvc;
@Test
@WithMockUser(roles = "ADMIN")
void requestProtectedUrlWithUser() throws Exception {
this.mvc.perform(get("/"));
}
}
Postman에서 REST API를 테스트할 때는 일반적으로 로그인이 필요한 API를 호출하기 전에 로그인 API를 호출하여 받은 토큰(예: JWT 토큰)을 이후 API 호출 시 HTTP 헤더에 포함시켜 인증 정보를 전달합니다.
Authorization
키와 함께 Bearer {토큰}
형태로 추가합니다.여기서 Bearer {토큰}
에서 {토큰}
부분은 실제 받은 인증 토큰으로 대체해야 합니다.
이 방식은 바로 Postman에서 로그인된 회원에 대한 API를 테스트하는 데에 활용할 수 있습니다.
추가적으로 필요한 정보 또는 더 구체적인 사례에 대해서는 스프링 시큐리티 공식 문서 또는 관련 참고자료를 확인하는 것을 권장합니다.