본문 바로가기

web/SpringBoot44

[SpringBoot] OAuth2.1 모듈로 인증 서버 만들기 - 2 저번시간에 이어 ID/PW로 인증 뒤 인가코드를 가져오는거 까지 구현해보자.  ✔️ Login endpoint 설정/** * custom filter setting * @param authenticationManager * @return */public AbstractAuthenticationProcessingFilter abstractAuthenticationProcessingFilter(AuthenticationManager authenticationManager) { LoginAuthenticationFilter filter = new LoginAuthenticationFilter("/api/login", authenticationManager); // login api endpoint .. 2024. 8. 30.
[SpringBoot] OAuth2.1 모듈로 인증 서버 만들기 - 1 회사에서 기존 모듈 분석을 하다가, OAuth2 모듈이 있길래 정리해보는 블로깅.. 나는 사실 OAuth2 의 개념을 명확하겐 알지 못했다, 그냥 JWT 를 발급해주는 모듈이구나 정도로 이해하는 수준? ㅋㅋ 이제서야 개념을 정리해본다.  ✔️ OAuth?OAuth(”Open Authorization”)는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로 사용되는, 접근 위임을 위한 개방형 표준이다. 사용자가 자신의 계정 정보를 공유하지 않고, 다른 서비스에 대한 접근 권한을 안전하게 제공하는 서비스 OAuth를 지원하는 서비스는 사용자로부터 인증을 받은 후, 해당 서비스에 대한 접근 권한을 받는다. .. 2024. 8. 28.
[SpringBoot] 조회 수 카운팅 중복 방지 - ver1 현재 회사에서 운영하고 있는 레거시 시스템에 조회수 어뷰징으로 의심되는 로그가 발견되었다. (참고로 내가 운영하고 있는 서비스는 B2C라고 하기엔 좀 애매한 서비스임.) 특정 동영상 조회수를 조작하는걸로 의심되었고, 확인해보니 페이지 진입(혹은 새로고침)시 조회수를 +1로 DB에 업데이트를 치는 로직인데,  그게 한꺼번에 트래픽이 몰리니 DB가 락이 걸려버리는 이슈였다. 레거시라 누굴 탓할수 없고 ㅋㅋ 어쩌겠느냐, 수정해야지!!! 일단 조회수 중복을 막는 방법으로 3가지 정도를 생각했다.  1. 새로고침을 막기위해 페이지 진입시, 새로고침 체크용 파라미터 추가.⇒ 하지만 해당건은 새로고침만 막을 수 있을뿐 URL을 이용한 매크로를 막을순 없음. (탈락) 2. Redis 를 이용하여 동시성제어특정영상(ID.. 2024. 8. 6.
[SpringBoot] JPA Hibernate Assertion Failure 트러블슈팅 지금 있는 회사에서 기존 레거시 서비스를 운영중이다. 근데 보다보니 자꾸 특정시간만 되면 main 페이지가 느려지는게 아닌가? 확인해보니 매시간 정각에 back단에서 배치서비스가 실행이 되는데, 문제는 그 서비스가 실행되는 동안 다른 호출이 DB에 접근을 못한다는거다. 그 이유를 확인해보다 정리하는 글 일단 에러는 이렇다. 2024-07-10 00:01:00.995 WARN 7618 --- [scheduling-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: S10092024-07-10 00:01:00.996 ERROR 7618 --- [scheduling-1] o.h.engine.jdbc.spi.SqlExceptionHelp.. 2024. 7. 12.