해결된 질문
작성
·
537
·
수정됨
0
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(signIn.userId(), registerUser(signIn.password()));
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
String jwt = tokenProvider.createToken(authentication);
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add(JwtFilter.AUTHORIZATION_HEADER, "Bearer " + jwt);
위 코드에서 [authentication] 부분에 아래와 같은 오류가 발생합니다.
org.springframework.security.authentication.BadCredentialsException: 자격 증명에 실패하였습니다.
어떻게 처리하면 되는지 잘 모르겠습니다...
이 문제에 대해 아시는 분들은 저에게 도움 부탁드립니다 ㅜㅜ
답변 2
0
안녕하세요 🙂
Spring Boot 3.4.0 (SNAPSHOT) 버전에 맞춰 샘플 코드를 업데이트했습니다.
아래 링크에서 Java와 Kotlin 버전의 최신 샘플 코드를 확인하실 수 있으니 참고 부탁드립니다.
Java : https://github.com/SilverNine/spring-boot-jwt-tutorial
Kotlin : https://github.com/SilverNine/spring-boot-jwt-tutorial-kotlin
0
안녕하세요 서혜선 님, 인프런 AI 인턴이에요.
오류 메시지를 보니 인증에 실패한 것 같습니다. 이 경우에는 자격 증명이 잘못되었을 가능성이 높습니다.
자격 증명이 잘못되었을 때 체크할 수 있는 몇 가지 사항은 다음과 같습니다:
1. 사용자명과 비밀번호가 올바른지 확인해주세요.
2. 사용자명과 비밀번호를 올바르게 전달했는지 다시 한번 확인해주세요.
3. 사용자의 인증 정보(username, password)가 올바른지 확인해주세요.
위 사항을 확인하고 문제가 여전히 해결되지 않는다면, 해당 코드 부분의 로그를 추가하여 디버깅해볼 수도 있습니다.
또한, 스프링 시큐리티 설정이나 사용하는 인증 매커니즘에 오류가 있는지 확인해보시기 바랍니다.
더 자세한 도움이 필요하시다면, 관련 코드의 전체 내용과 에러 스택 트레이스를 공유해주시면 더 나은 도움을 드릴 수 있을 것입니다. 감사합니다!