4D4cat) 네이버 로그인 연동을 위한 MVC 테스트 1

🔔 MVC Test 코드 작성 네이버 연동 페이지에 접근이 잘 되는가? LoginController.java @Controller @RequiredArgsConstructor @RequestMapping("/login") public class LoginController { private final NaverLoginService naverLoginService; @GetMapping("/naver") public void naverLogin(HttpServletResponse response) throws IOException { response.sendRedirect(naverLoginService.getNaverOauth2LoginUrl()); } } naverLogin {URL}/login/naver로 접근하면 Naver 로그인 인증을 위한 페이지로 이동된다. 리다이렉트 URL은 naverLoginService에서 받는다. NaverLoginService.java @Service @RequiredArgsConstructor public class NaverLoginService { private static final String BASE_URL = "https://nid.naver.com/oauth2.0"; private final AppProperties app; private final ThirdPartyProperties secrets; public String getNaverOauth2LoginUrl() { String authorizeUrl = BASE_URL+"/authorize"; String callbackUrl = getServiceUrl()+"/login/naver/callback"; return UriComponentsBuilder .fromHttpUrl(authorizeUrl) .queryParam("response_type", "code") .queryParam("client_id", secrets.naver().naverId()) .queryParam("redirect_uri", callbackUrl) .queryParam("state", "random") .toUriString(); } public String getServiceUrl() { return app.serviceUrl(); } } AppProperties 현재는 도메인 URL만 세팅되어 있다. ...

December 23, 2024 22:33 · 2 min · 303 words · nakji

4D4cat) 프로젝트 개선

🔔 프로젝트 소개 🔔 프로젝트 개선 과정 프로젝트 소개 4d4cat 의미 4d4cat 프로젝트는 내가 구현해보고 싶은 기능을 다 넣어서 원하는 때에 사용해보고자 만든 프로젝트이다. 이는 만화 도라에몽에서 나오는 4차원 주머니에서 여러 가지 물건을 꺼내는 것처럼 **4차원(4th-Dimension), 주머니(pocket)**를 변형해서 만든 명칭이다. 목적 구현하고 싶은 기능은 크게 데이터 수집과 서드 파티 사용이다. 데이터 수집 현재 구글 트렌드 데이터 기반으로 일별 인기 검색어를 저장 노출 기간은 최근 한달 이내의 데이터 구글 트렌드 API 관련 오픈소스 사용 인스타그램의 키워드도 수집하려고 했으나 최근에 지원 종료(예정) 서드 파티 ...

December 12, 2024 15:45 · 2 min · 227 words · nakji