무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Spring Boot JWT Tutorial
@EntityGraph(attributePaths = "authorities") 에 관한 질문입니다.
안녕하세요 ㅎㅎ 쿼리가 수행될 때, Lazy조회가 아니라 Eager조회로 authorities정보를 가져오시는 이유가 뭘까용..?
- 미해결Spring Boot JWT Tutorial
spring boot 2.5 버전 이상일 경우 오류
안녕하세요. 먼저 좋은 강의 감사드립니다. 질문은 아니고 오류가 발생하여 혹시나 저와 같은 상황을 겪으신 분들을 위해서 공유드립니다. 강의 진행하면서 예제 소스와 똑같이 코딩하여도 spring boot 서버를 실행하는 과정 중간 data.sql 스크립트를 실행하는 과정 중에 User 테이블을 찾을 수 없다는 오류가 발생하더라구요. 원인을 찾아보니 저 같은 경우 boot버전이 2.5.0 이였고 boot 버전이 2.4에서 2.5로 업데이트 되면서 하이버네이트 초기화 과정보다 data.sql 먼저 실행되도록 변경되어 오류가 발생한 것 같습니다. 따라서 boot 2.5 이상 버전 사용 시 저와 같은 오류가 발생하신다면 application.yml(또는 properties)에 spring.jpa.defer-datasource-initialization: true 해당 옵션에 값을 true 로 잡아주시면 될 것 같습니다 참고: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes
- 미해결Spring Boot JWT Tutorial
서버가 켜지지 않아요..
삭제된 글입니다
- 미해결Spring Boot JWT Tutorial
signup
안녕하세요 먼저 저는 토이프로젝트 진행중인대 jpa가 아닌 mybaits로 하고있습니다. 궁금한 점이 있어 질문드립니다! signup메서드에는 권한을 저장하는 save? 가 없는대 userRepository에서 일괄로 처리하는 건가요? save 메서드가? 그렇다면 mybatisd에서는 권한 저장하고 유저정보 저장하는 식으로 하면 될까요 ?
- 미해결Spring Boot JWT Tutorial
BadCredentialsException으로 인한 Unauthorized 에러
안녕하세요, 최근 강좌를 다 듣고, 프로젝트에서 응용하여 적용하던 중 하루내내 디버깅을 시도했음에도 풀리지 않는 문제가 생겨 질문 남기게 되었습니다 Mysql에 저장된 user 객체(email, password, name, phoneNumber, authorities 등)에 대하여 loginDto(email, password)로 로그인을 하는 API를 들었습니다. 하지만 포스트맨으로 테스트한 결과 다음과 같은 결과가 지속됨을 알 수 있었습니다. (강의에서 설명하신 코드를 거의 대부분 가져와 적용하였습니다) STS에서 디버깅해보았을 때, JwtFilter를 지나 해당 Controller의 Request URI로 도착했고, 아래와 같이 authenticationToken을 생성하였습니다. 이후 authenticate 메소드가 실행되면서 CustomUserDetailsService로 넘어가고 createUser 메소드에서 GrantedAuthority를 리스트에 담아 grantedAuthorities에 저장하였습니다. 다음과 같이 전체 정보를 잘 가지고 오는 것을 알 수 있습니다. 그러나, 그후 다음의 포인트에서 더 이상 넘어가지 못하면서 마지막으로 source not found에 도달하고, api는 자격 증명에 실패했다는 에러메시지를 반환합니다. 강의를 3번 넘게 돌려보면서 빠뜨린 부분은 없는 것인지 찾아봤는데 잘 모르겠스빈다ㅠㅠ 도와주시면 감사하겠습니다.
- 해결됨Spring Boot JWT Tutorial
유저 정보 반환 질문
안녕하세요. JWT를 기본 가이드를 알려주셔서 감사합니다. 강의를 듣는 도중 궁금한점이 생겨서 질문 드립니다. 강의 5:36 분에 나오는 Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); 이 부분에서 loadUserByUsername 메소드가 실행되는 것 까지는 이해를 했는데 여기서 저는 Token 정보뿐만 아니라 유저의 정보 일부(Email, Name)를 같이 반환시키려고 합니다. 유저 정보를 얻으려면 다른 메소드를 만들어서 한번 더 조회해야 하는지 아니면 다른 방법이 있는지 궁금합니다. 감사합니다.
- 미해결Spring Boot JWT Tutorial
4강중 질문!!
안녕하세요!! 강의 보면서 하나씩 따라하다가 궁금한점이 생겼는데요 CustomerUserDetailsSerivce.java 에서 !user.isActivated() 와 user.getAuthorities 등 get메서드 부분에서 에러가 나는데 비슷한 질문이 있어서 답변을 참고하였는데도 해결되지않았네요 ㅠㅠ(import 되어있습니다.) lombok에서 에러가있는건지.. 어떻게 해결해야하는지 궁금하네요 ㅠㅠ
- 미해결Spring Boot JWT Tutorial
토큰 반환 관련 질문
컨트롤러에서 토큰을 반환할 때 토큰을 헤더와 바디 두 곳에 담아서 반환을 하셨는데 혹시 두 군데 모두 담으신 이유가 있나요?
- 해결됨Spring Boot JWT Tutorial
52초쯤 말씀해주신 고려해야할 사항 질문
안녕하세요 :) 52초쯤 JWT를 적용함에 있어서 몇가지 고려해야할 사항들을 잘 대응하면 대규모 프로젝트에서도 적용할 수 있다고 하셨는데요! 고려해야될 사항을 좀 더 추가로 설명을 해주시면 감사하겠습니다!
- 미해결Spring Boot JWT Tutorial
웹에서 토큰 저장
강의 감사합니다. 그런데 웹에서는 토큰을 어디에 저장하는 건가요?
- 미해결Spring Boot JWT Tutorial
configure(WebSecurity)와 configure(HttpSecurity)의 차이
안녕하세요. JWT에 대한 좋은 강의 감사합니다. /h2-console에 대한 요청은 HttpsSecurity의 antMatchers().permitAll()에 추가하지 않고 WebSecurity를 매개변수 받는 메소드에 적용하신 이유를 알고싶습니다.
- 미해결Spring Boot JWT Tutorial
안녕하세요 포트폴리오에 코드 출처로 문의 드리게 되었습니다.
안녕하세요 취업용 포트폴리오를 만들면서 프로젝트에 jwt를 사용해보고 싶어 검색 중 강사님의 강의를 보고 jwt에 대해 입문하게 된 학생입니다. 한번도 github에 코드를 올려본적이 없어 강사님의 코드를 이용하여 포트폴리오를 만들어서 readme에 출처를 어떻게 남겨야 될지 몰라 문의드리게 되었습니다... 강사님 덕분에 쉽게 jwt에 접근해 리액트와 스프링의 로그인 유지하는 방법에 대해 쉽게 배우고 이해하고 활용 할 수 있었습니다. 감사드립니다.
- 미해결Spring Boot JWT Tutorial
jwt 4강 질문 - [cannot resolve method
jwt 튜토리얼 4강 강의에서 CustomUserDetailsService 클래스를 구현할 때 첨부된 이미지와 같이 User 객체로부터 activated 값을 가져오는 user.isActivater() 에서 cannot resolve method "isActivated" in "User" 에러가 발생합니다. Gradle로 필요한 라이브러리를 dependencie 하였고 강의에 나온대로 코드를 똑같이 구현하였는데 이 에러는 어떻게 해결할 수 있을까요? 혹시 제가 놓치고 있는 부분이 있을까요?
- 미해결Spring Boot JWT Tutorial
JWT 질문
안녕하세요. JWT 강의를 듣고 이것저것 찾아보는 중 궁금점이 하나 생겼습니다. 강의 해 주신 내용을 보고 일단 제가 이해한 내용은 로그인을 하면 해당 유저에 해당하는 권한들을 JWT payload에 auth 라는 claim으로 실어서 보낸다음, 요청시마다 payload에 실려있는 권한들을 따로 정의한 필터를 통해 확인하는 것이 맞나요? 그러면 매 접근마다 DB를 통해서 해당 사용자의 권한이 무엇인지 조회할 필요가 없어서 좋을 것 같다고 느꼇습니다. 여기서 몇 가지 질문입니다. 1. 만약 로그인이 되어있는 도중, 어떠한 조건이나 관리자에 의해 서버에서 권한이 변경된 경우에는 토큰에 해당 정보를 반영하지 못하게 되는데, 그러면 로그인을 다시해서 권한정보들을 다시 담을 수 밖에 없는건가요? (로그아웃 후 로그인을 다시 하지 않는이상 기존 권한에 대한 접근이 허용되므로 서버측 의도와는 다르게 동작할 수 있을 것 같음) 그리고, 토큰자체에 권한정보가 대놓고 들어있어서 문제가 될 것 같기도 합니다. 2. 강의에선 사용자의 이름을 담으셨는데, 이름이나 메일 말고 DB에 저장된 기본키(순서번호 또는 UUID)를 담아서 사용해도 문제가 없으려나요??? 3. 1번의 문제점을 없애려면 일단 jwt에 권한정보를 넣지 말고, 사용자에 대한 고유정보(email이나 id값 등)만 담은 뒤, 토큰이 있기만 하면 일단 요청을 받고나서 각 서비스쪽에서 DB에서 권한을 조회한다면 1번문제점은 사라질탠데, 이러면 결국 요청마다 DB를 검사해야 한다는 단점이 있겠죠? -> 실제 현업에서도 토큰에 고유ID와 권한정보도 말아넣어서 권한에 대한 DB조회를 최소화하는지 궁금합니다. 4. SecurityContextHolder 라는것을 코드에서 쓰셨는데, 찾아보니 세션처럼 메모리상에 있는 것이더라구요.그럼 세션처럼 들어온 토큰에 대한 사용자정보가 저장되는건가요?(한 요청에 대해서만 살아있는 컨텍스트인지, 세션처럼 유지되는 요청 토큰에 대해 매핑되서 유지가 되는지)세션처럼 유지된다면 Context 홀더를 쓰면 3번 방법처럼 토큰에 권한정보를 담지 않아도 토큰을 보고 정상 토큰이면 일단 필터를 거친 후, 컨트롤러나 서비스에서 이미 컨텍스트에 있는 토큰에 대한 사용자정보를 쓰는게 가능하겠네요? (최초요청 시 컨텍스트의 인증정보 내에 DB의 사용자 정보(권한 등)를 조회해서 넣어 놓았고, 세션처럼 토큰에 대한 컨텍스트가 유지된다는 가정)
- 미해결Spring Boot JWT Tutorial
Spring Data JPA 'findOneWith...'에 대해...
좋은 영상 감사합니다. 저는 최근에 스프링부트, jpa를 시작한지 얼마되지 않아서 아직 모르는 부분이 많아서 질문 올립니다. 저는 jpaRepository에서 조회할 때 주로 'findBy...'를 많이 이용하는데요, 이 영상에서 'findOneWith...'라는 명령어를 처음 보았습니다. 질문드리기 전에 먼저 구글링이나 직접 이용해 보려는데, 정보도 안나오고 Spring Data JPA 의존성에도 인식을 못하는 것을 보면, jpaRepository에서 직접 정의를 하신 것인가요? 굳이 '...With...'이란 수식어를 붙이신 이유가 무엇인가요??
- 미해결Spring Boot JWT Tutorial
자바 8을 선택한이유
자바 11대신 자바 8을 선택하신 이유가 따로 있을까요?
- 미해결Spring Boot JWT Tutorial
안녕하세요 base64질문
안녕하세요, 코드 하나하나 뜯어보면서 디테일한 부분에서 많이 공부하고 있습니다. TokenProvider에서 byte[] keyBytes = Decoders.BASE64.decode(secret);로 바이트배열을 생성한 다음 키를 생성하는데요, jwt.secret은 silvernine-tech-spring ~ 이 터미널 기본 chartset인 utf-8으로 바이트로 바뀌고 바이트가 다시 base64로 인코딩되어 Yml파일에 저장되는데요, provider에서 주입받은 secret을 base64로 다시 디코딩해서 사용하는 이유가 궁금합니다. 그냥 yml에 secret을 silvernine-tech-spring ~ 놔둔 상태로 주입받아서 utf-8으로 바이트로 바꾸고 키 생성을 해도 같은 결과이지 않을까요? 그리고 생성자가 아닌 DI 이후에 afterpropertyset을 이용해 key를 설정하는 이유도 궁금합니다.
- 미해결Spring Boot JWT Tutorial
로그아웃
로그아웃은 클라이언트쪽에서 그냥 JWT을 지우면 되는건가요? 만약 쿠키에 저장되어있으면 쿠키를 스크립트만 실행하면 되는건가요???
- 미해결Spring Boot JWT Tutorial
안녕하세요
스프링 시큐리티 강의나 책 추천해주실 수 있으시나요?
- 미해결Spring Boot JWT Tutorial
추가 학습 참고할만한게 있을까요
jwt를 이해하기 좋은 강의였습니다. jwt 설정 방법이 다양한것으로 할고있습니다. 실제 프로젝트에 적용할 때 좀더 고려해야할 부분이나 oauth2 access_token 을 jwt 로 발급받는 방법, refreshToken 적용 방법등 참고 해볼만한 자료가 있을까요?