최근 진행중인 토이 프로젝트에서 네이버 로그인 API를 활용해 소셜 로그인 기능을 구현했다. 구현하면서 생각외로 이슈를 많이 겪었는데 재직 중에 진행하다 보니 물리적인 시간이 여유롭지 못해 최종 구현에 많은 시간이 걸렸다. 그렇지만 결국 목표했던 구현에 성공했기 때문에
이제 본격적으로 비즈니스 로직을 작성할 것이다. 모든 코드는 프로그래머스 웹 백엔드 스터디에서 받았던 샘플 코드를 바탕으로 작성되었다. Package structure in my application 내 애플리케이션의 패키지 구조는 위와 같은 형태이다. august
이번에는 인증된 사용자를 표현하는 클래스를 만들 것이다.security 패키지 아래에 JwtAuthentication이라는 이름으로 클래스를 생성한다.인증된 사용자의 정보를 저장할 필드를 선언한다. 역시 final을 붙여주어 불변성을 가지게 한다. Id<User,
인증 주체를 나타낼 JwtAuthenticationToken 클래스를 만들 것이다. Location security 패키지 아래에 만든다. AuthenticationRequest class 시작하기에 앞서 인증 요청을 보낼 때 사용할 클래스를 만들 것이다. Jw
이번 포스트에서는 실질적인 시용자 인증 처리 및 JWT 생성 처리를 하는 JwtAuthenticationProvider 클래스를 작성할 것이다.AuthenticationProvider 인터페이스를 구현한 클래스를 생성한다. JWT 정보를 저장할 필드와 서비스단 참조변수
인가(Authorization)를 요청받은 사용자에 대해서 적절한 권한을 가지고 있는지 확인 후 인가 허용을 결정하는 컴포넌트인 ConnectionBasedVoter를 만들 것이다. Location security 패키지 아래에 만들어 준다. ConnectionB
최근에 AWS 프리티어가 끝나가서 운영중이던 사이드 프로젝트의 스프링 서버를 새로운 계정을 파서 옮기려고 했다. 이건 백엔드 api 서버인데 http로는 배포된 웹에서 호출이 되지 않기 때문에 https도 붙이려고 했다.옛날엔 EC2 서버에 SSL 인증서를 직접 설치하