안녕하세요 오랜만에 또 글을 쓰네요ㅋㅋ 지난번에 Board Entity를 통하여 게시글 작성하는 것까지 작성했었는데요... 그 이후로 로그인 기능까지 담당하게 되어서 그 동안 Spring만 붙잡고 살았습니다.. 학교 수업이랑 팀 프로젝트 2개를 병행하려니 죽을 맛이네요 ㅋㅋ 거기다가 로그인 기능 구현은 아직 연습중이여서 그런지 시간이 좀 더 많이 걸리는 작업이었습니다. 뭐 결론적으로는 방금 로그인 기능 구현까지 마친 뒤에 커밋하고 왔습니다. 작업하는 동안은 죽을 맛이였는데, 또 막상 구현한거 보면은 뿌듯하더라구요 ㅋㅋ User Entity와 RefreshToken Entity를 사용하여 로그인 기능과 JWT 토큰에서의 재발급을 어떤식으로 활용할지 정하였습니다. 일단은 로그인까지 구현해보았고, 이제 JWT 토큰을 사용하여 사용자 인증을 수행할 수 있기 때문에 이를 활용하여 게시글 좋아요 기능까지 만들어보려고합니다. 화이팅!
지난 번에는 TokenProvider 파일을 추가하는 부분까지 했으므로, 오늘은 TokenProvider 이외에 파일들을 추가하여 Jwt 설정과 관련된 부분들을 모두 마치도록 하겠습니다. 먼저, JWT와 관련하여 발생하는 오류들을 처리하기 위한 파일들을 추가해줄텐데, 다음 2개의 파일을 생성해줍니다. 우리는 이전까지 만들어보았던 URL의 경우에는 접근에 제한이 없었습니다. 하지만, Spring Security를 사용하게 될 경우에는 특정 URL에 접근하기 위해서 인증 절차를 제시할 수도 있으며, 특정 권한을 요구할 수도 있습니다. 이와 같은 상황에서 인증 절차를 따르지 못하거나, 특정 권한이 없는 경우에는 오류가 발생하는데, 이러한 오류를 처리하기 위한 파일이 바로 JwtAccessDeniedHandler, JwtAuthenticationHandler입니다. AuthenticationEntryPoint 먼저, JwtAuthenticationHandler 파일
안녕하세요? 이번 시간에는 지난 번에 SecurityConfig 파일 생성까지만 했었던 프로젝트를 이어서 만들어보겠습니다. 지난 시간에 설명한 내용으로는, SecurityConfig 파일은 보안과 관련된 설정을 해주는 파일이라고 설명했습니다. 그런데 일단 우리는 JWT라는 Json 형식의 Web Token을 사용하여 로그인 기능을 구현할 예정이라, 이 토큰과 관련된 로직을 구현해주어야합니다. 일단은 해당 로직을 구현해주기 전에, gradle로 들어가서 의존 관계를 설정해줍니다. 의존 관계 하단에 보시면, io.jsonwebtoken 이라는 코드를 보실 수 있으실텐데, 이것이 바로 JWT와 관련된 의존 관계를 맺어주는 설정이라고 보실 수 있으십니다. 그 다음으로는 application.yml 파일로 들
미루고 미루던 Spring Security 공부를 시작해보겠습니다. 요즘 DP 공부하느라 다른 공부는 미뤄 왔었는데, 생각해보니 학기 중에 RestAPI랑 Spring Security로 개인 프로젝트 하나 만들기 위해서는 Spring Security를 빨리 해놔야 학기 중에 프로젝트 만들기가 편할 것 같더라구요. 일단 Spring Security와 JWT를 활용하여 사용자 로그인, JWT 토큰 생성, 사용자 확인 등의 기능을 구현해보고자합니다. 다음과 같이 Spring.io를 통하여 의존 관계를 설정해줍니다. 일단 프로젝트를 실행한 뒤에 간단하게 패키지 정도만 만들어 준 뒤에 사용자 정보를 담기 위한 Entity를 생성해줍니다. ![](https://velog.velcdn.com/images/c