전체 글 (11) 썸네일형 리스트형 OAuth2.0 자세히 파헤치고 이해하기 이번에 서비스를 운영하다가 OAuth2.0 관련 이슈가 있었다Slack을 이용해서 소셜 로그인이 구현된 사이트였는데 갑자기 어느 순간부터 Slack 로그인 페이지가 에러 페이지로 redirect되었다 Slack OAuth2.0가 버전 업그레이드 되면서로그인 URL의 쿼리 파라미터 scope 값의 구분자를(+ -> ,) 수정하는 간단한 방법으로 해결될 수 있었지만 https://api.slack.com/legacy/oauth Legacy: OAuth 2.0 for legacy Slack appsOAuth 2.0 for legacy Slack apps.api.slack.comhttps://api.slack.com/authentication/oauth-v2 Installing with OAuthUsing .. @Async 비동기로 호출 시에 SecurityContext 전달하기 - Spring Security, Thread Pool 😓 문제상황배경프로젝트에서 Request시에 RTT가 오래 걸리는 API가 있어서Request가 들어오고 해당 쓰레드에서 비동기로 새로운 쓰레드를 만들어서 작업을 위임하고Response를 바로 내리는 프로세스가 있었다. Spring Security로 Request한 유져의 정보를 Thread 단위로 관리하고 있어서SecurityContextHolder.MODE_INHERITABLETHREADLOCAL 로 설정하여 부모 쓰레드에서 파생된 자식 쓰레드에 SecurityContext가 전파될 수 있도록 설정하였다 상황 - 비동기 쓰레드의 SecurityContext(인증정보)가 완전 꼬임 👅Local에서 개발할 때는 Request한 유져의 인증정보가 있는 SecurityContext가 비동기 쓰레드로 .. 동시성 처리 - 비관적 Lock/낙관적 Lock/분산 Lock 비교 및 케이스에 따른 분석해보기 프로젝트에서 동시성 처리를 해야할 일이 생겼다휴가 신청을 하는데, 하나의 계정에서 브라우저를 두개 띄워놓고같은 휴가, 같은 날짜를 선택하고신청 버튼을 누르면 신청이 되어버리는 문제가 있었다 휴가 신청 프로세스에 협력하는 서버는 총 세개(신청 Server / 휴가 Server / 근무 Server)로 구성되어있고,각 도메인 서버는 각각의 데이터베이스를 가지고 있다🤣 임계구역 (Critical Section) 식별해보기휴가 신청과 관리자의 휴가 관리 프로세스는 아래와 같고, 각 단계에서 동시성 문제가 발생하는 임계구역 먼저 도출해보기 시작했다휴가를 하나의 상품이라고 생각하고 구매자(직원) / 판매자(관리자)로 봐도 무방한 플로우다(빨간색으로 표시된 부분이 임계구역) 휴가 신청STEP 1- 신청- 신청 S.. 이전 1 2 3 4 다음