Projects/Team project - 스택오버플로우 클론코딩 3

Oauth2 진행 이후 redirect 페이지에서 특정 정보에 접근하기

Oauth2 진행 흐름 문제를 파악하기에 앞서 Oauth2의 진행 흐름에 대해 알아보았습니다. 그림에서의 Resource Owner 사용자를 의미하며 Client는 백엔드 서버를, Authorization Server와 Resource Server는 구글과 같은 3rd-party를 의미합니다. 진행 흐름은 다음과 같습니다. 사용자는 백엔드 서버로 소셜로그인을 요청합니다. 요청받은 백엔드 서버는 3rd-party에서 부여해준 Client ID와 함께 사용자의 인증과정을 해당 3rd-party의 Authorization 서버에 요청합니다. 사용자는 3rd-party에서 인증과정을 진행하고 백엔드 서버는 Authorization 서버에서 받은 엑세스 토큰을 이용하여 3rd-party의 Resource 서버에서..

CORS 문제 해결

문제 발생 프로젝트 진행 중 프론트엔드 분들을 위한 Mock-up data API를 만들어 EC2를 활용해 배포하여 제공하게 되었는데 이때 Cors 문제가 발생하게 되었다. 스프링 시큐리티를 사용하지 않으므로 간단하게 컨트롤러에 @CrossOrigin 에너테이션으로 해결할 수 있을줄 알았지만 계속해서 http status 415 에러가 난다는 보고를 받았다. 문제 해결 이를 해결하기 위해 Cors filter를 직접 작성해 주기로 했다. package com.stub_data_server.cors; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframewor..

팀 프로젝트 일지

프로젝트 목표 StackOverFlow사이트의 클론코딩 프로젝트 기간 2주 개발 인원 6명(프론트 3명, 백엔드 3명) D+1 팀원간의 개인 역량 체크 짧은 시간인 2주간 주니어 개발자 6명에서 해당 웹사이트의 어떤 기능까지 구현을 할것인가, 그 범위에 대해 논의하게 되었다. 주어진 시간은 2주이지만 그안에 프로젝트의 방향을 논의하고 역할을 분배, 어플리케이션의 기능을 코드로 구현, 테스트 실시, 배포까지 하기 위해선 StackOverFlow의 기능을 최소화하여 꼭 필요한 기능들인 회원과 질문, 답변, 댓글에 관한 기본적인 CRUD 서비스와 소셜 로그인 기능까지만 일단 구현한 후 시간이 남으면 팀원 모두 협의 후 새로운 기능을 추가하기로 결정하게 되었고 이를 바탕으로 사용자 요구사항 정의서를 작성하였다...