프로젝트(포토폴리오)에서 사용한 기술, 내용java11, Spring Data JPA, Spring Security, JWT, OAuth2, Junit5, Hamcrest, RestDocs, MySQL, aws EC2, RDS, nginx, git, github, 그
처음 프로젝트를 기획할 당시 나는 많은 기능을 구현하고 싶었다. 하지만 많은 기능들을 욕심내는 나에게 감사하게도 이런 조언을 해주셨었다. 그 기능들이 추가된다고 해서 이력서에 쓸 한줄이 될 수 있을까요? 이 얘기를 듣고 열정의 방향성에 대해서 생각해 볼 수 있었다. 취
안녕하십니까. EduSync팀 백엔드 팀원 위원종입니다.저는 화면에 보이는 것과 같이 배포와 member entity관련 기능과 Security를 담당해 구현했습니다. 즉, 사용자 관련 기능을 담당하여 기능들을 구현했고, 보안을 강화하기 위해 리프래쉬 토큰을 Redis
기존에 회원 삭제를 할 경우 회원의 이메일을 del\_ + id + email 형태로 변경했었다.이메일은 변경하지 않고 MemberStatus로만 삭제회원을 구분하기 위해 로직을 변경했고 기존에 del\_로 시작하는 이메일을 갖는 회원 정보는 버그성 데이터가 되었다.
JWT(JSON Web Token) 인증은 사용자의 인증 정보를 토큰에 담아 서버에 전달하는 인증 방식이다. 사용자가 로그인을 하면 서버는 사용자의 인증 정보를 포함한 JWT를 생성하여 사용자에게 전달한다. 사용자는 이후 요청에서 이 JWT를 헤더에 포함시켜서 인증 정
아래와 같이 멤버를 삭제하는 로직에 @Transactional 애너테이션이 붙어 있어도 updatable = false 설정으로 인해서 이메일 변경사항은 db에 저장이 안되고 status만 변경된 상태로 저장되었다.db에 반영되는 과정에서 적용이 안되는 현상이기 때문에
분명히 아래와 같이 리프래쉬 토큰값은 정상적으로 저장되어 있다.그런데 리프래쉬 토큰을 이용해 엑세스 토큰을 재발급 하려고 하면refreshTokenRepository.findByRtk(refreshToken);메서드를 통해 redis에서 올바른 객체를 가져오지를 못하고
설치과정에서 Which services should be restarted?라는 메세지가 나오면 그냥 종료하면 된다. (굳이 재시작할 필요 x)Lettuce와 Jedis는 모두 자바에서 레디스를 사용하기 위한 클라이언트 라이브러리다.참고 블로그의 내용을 보면 아래와 같
ec2에서 24시간 유지를 위해 백그라운드 실행을 하는데 로그가 남지 않아서 디버깅하기 어려웠다. 로그 남기기 남기기 위해서 아래와 같이 명령어를 사용했다.sudo nohup java -jar app.jar --spring.profiles.active=server >
카카오 로그인 기능을 추가하다 발생한 오류다.구글 연동에 성공하고 카카오 연동을 시도했다.구글의 경우는 provider가 security 설정에 내장되어 있어 따로 추가할 필요 없었지만 카카오 같은 우리나라에서만 주로 사용되는 경우에는 provider를 직접 설정해야
위와 같이 shouldNotFilter()메서드에 !authorization.startsWith("Bearer")가 있으면 토큰 헤더를 없애버리고 payload와 signature만 멀쩡하다면 유효한 토큰으로 인식된다.ex) Authorization = eyJhbGci
API 요청 설계를 하며 생긴 의문점이다.스터디 그룹장이 그룹원을 강퇴시키는 기능과 그룹원이 스스로 나가는 것이 어떻게 보면 같은 기능이다.다만, 조건이 다르다. 그룹장이 강퇴시키는 경우 그룹장이 맞는지 검증하는 과정이 필요하고 그룹원이 스스로 나가는 경우 요청을 보내
아래와 같이 로그인 요청 시 클라이언트로 부터 받은 이메일과 비밀번호가 DB에 저장된 사용자 정보와 일치하는지 비교하고 올바른 사용자면 Access Token(이하 ATK)과 Refresh Token(이하 RTK)을 생성해 클라이언트에 전달해주고 토큰 노출에 따른 위험
Security 특성상 cors에러 등 프론트 팀원과 함께 커뮤니케이션 할 기회가 많다고 생각하기 때문부트캠프에 참여하며 Security 부분을 어려워 하는 사람이 많은 것 같았습니다. 많은 사람이 어려워 하는 부분을 잘 다루게 된다면 상대적으로 더 뛰어나 보일 수 있
안녕하십니까. 이메일 : wjwee9@gmail.com깃헙 : https://github.com/wish9블로그 : https://velog.io/@wish1733팀 BE 팀장spring security 담당로그인과 사용자 정보 관련 로직 구현을 담당
configuration.setAllowCredentials(Boolean.valueOf(true));로 설정해둘 예정입니다.Credentials(false)는 사용하지 말아주시고 혹시라도 필요하시면 엔드포인트별 Credentials 설정 여부를 정리해서 알려주세요.로
rds프리티어 20GB까지 무료니까 기본 할당량 200 -> 20으로 변경하자.스토리지 자동 조정은 과금당하니까 해제하자.스키마 바로 같이 만들자.자바 server yml 연결방법
분명히 생성한 클래스의 접근제어자도 public이고 오타로 인한 문제도 아니며, 미완성된 클래스도 아닌데 자동 import가 안되길래 직접 import문을 하드코딩해 작성해도 import가 안되는 오류가 발생했다.원인: 클래스 생성 과정에서 오타로 인해 클래스명을 수정
칸반팀과 조직이 작업을 시각화하고, 업무의 병목 현상과 리소스 낭비를 해결하는 업무 관리 방법Work In Progress(WIP)현재 진행하고 있는 작업WIP limit칸반에서는 각 업무 단계에 WIP 제한을 둘 수 있다.Assigness해당 태스크를 맡은 사람을 지