Spring Boot API 테스트 중 401 Unauthorized 에러 해결기

2025. 5. 6. 19:41·프로젝트/SnapNote
반응형

🚨 문제 상황

백엔드 프로젝트에서 POST /api/signup API를 Postman으로 테스트하려고 했는데,
아래와 같은 401 에러가 발생했다.

HTTP 401 Unauthorized

http://localhost:8080/api/signup 에 JSON 바디를 담아 요청했지만, 응답으로 401이 왔다.


❓ 왜 이런 에러가 났을까?

Spring Security는 기본 설정 시, 모든 요청에 인증이 필요하게 구성되어 있다.
즉, /api/signup, /api/login 과 같은 인증이 없어야 하는 요청도 막히는 것이다.


✅ 해결 방법: Spring Security 설정에서 특정 경로만 허용하기

// src/main/java/com/snapnote/config/SecurityConfig.java

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            .csrf(csrf -> csrf.disable()) // CSRF 비활성화
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/api/signup", "/api/login").permitAll() // ✅ 인증 없이 접근 허용
                .anyRequest().authenticated() // 나머지는 인증 필요
            )
            .httpBasic(Customizer.withDefaults()); // 기본 인증 설정

        return http.build();
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}

🧪 이후 결과

  • /api/signup → 201 Created 정상 응답
  • /api/login → 200 OK 정상 응답
  • 그 외 API는 인증이 없으면 401 유지됨 (보안 유지)

✅ 정리

문제 원인 해결 방법
Postman으로 회원가입 API 호출 시 401 에러 Spring Security가 인증 없이 접근 막고 있었음 SecurityConfig에서 .permitAll() 설정 추가

💡 팁

  • Swagger로 테스트하려면 /swagger-ui/**, /v3/api-docs/**도 permitAll() 해줘야 함
  • 나중에 JWT 인증 붙이면 다시 인증 경로 재설계 필요
반응형

'프로젝트 > SnapNote' 카테고리의 다른 글

Spring Boot에서 JWT 인증 구현하기 (정리)  (0) 2025.05.06
Spring Boot 회원가입 및 로그인 구현 + Postman 테스트 기록  (0) 2025.05.06
SnapNote 프로젝트 개발환경 세팅기  (0) 2025.04.26
Mac에서 MySQL 설치 후 SnapNote용 DB 생성하기  (0) 2025.04.26
'프로젝트/SnapNote' 카테고리의 다른 글
  • Spring Boot에서 JWT 인증 구현하기 (정리)
  • Spring Boot 회원가입 및 로그인 구현 + Postman 테스트 기록
  • SnapNote 프로젝트 개발환경 세팅기
  • Mac에서 MySQL 설치 후 SnapNote용 DB 생성하기
시시응
시시응
시시응 블로그
  • 시시응
    시시응응
    시시응
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • KT AIVLE (31)
      • 대외활동 (32)
        • 사회리더 대학생 멘토링 (0)
        • 22 하반기 코드클럽 (7)
        • 23 상반기 코드클럽 (9)
        • 1784 스쿨혁명 (15)
        • 멋쟁이 사자처럼 (1)
      • 프로젝트 (8)
        • 캡스톤 (3)
        • SnapNote (5)
      • study (1)
        • 데이터분석 (1)
      • 코딩테스트 (49)
        • 프로그래머스 (31)
        • 백준 (15)
        • 알고리즘 (2)
        • 자료구조 (1)
      • IT (5)
        • Git (3)
        • 개발환경 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    소프트웨어야놀자
    코딩테스트
    파이썬
    코드클럽
    AIVLE
    1784스쿨혁명
    KT
    playsw_mentor
    코테
    네이버커넥트재단
    codeclub_south_korea
    코드클럽한국위원회
    KT에이블스쿨
    Python
    교육봉사
    에이블스쿨
    프로그래머스
    대외활동
    대학생
    Lv1
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
시시응
Spring Boot API 테스트 중 401 Unauthorized 에러 해결기
상단으로

티스토리툴바