Server (7) 썸네일형 리스트형 로그인에서 토큰을 어떻게 넘기는게 가장 안전할까? 내가 알고 있는 로그인 키워드는 다음과 같다. Oauth2, JWT, SpringSecurity, 자체로그인여기서 나는Oauth2 + JWT + SpringSecurity 로그인 방식을 구현했다 (구글, 네이버, 카카오)로그인을 구현하는 중 난관에 봉착했다.로그인을 하는 방법은 크게 두가지로 나눌 수 있는데 1. 프론트가 애플리케이션으로부터 인가코드를 받아 서버에 전송하는 경우(애플리케이션 리다이렉트 URL을 프론트로 설정하는 경우)2. 애플리케이션과 서버가 직접 통신하는 경우(애플리케이션 리다이렉트 URL을 서버로 설정하는 경우) 보통 로그인 흐름도에 맞게 1번을 사용하여 구현을 해왔으나, 스프링 시큐리티를 도입하면애플리케이션으로부터 인가코드를 받고 자동으로 요청을 보내 액세스 토큰을 얻을 수 있을 수.. [CI/CD] Github Action, AWS로 자동 빌드 및 배포하기 https://kang-james.tistory.com/entry/CICD-Github-Action-AWS로-Java-자동-빌드배포하기 해당 사이트를 따라 실행하면서 학습했습니다 CI/CD란? CI - Continuous Integration지속적인 통합을 의미한다(Code - Build - Test)개발자를 위한 자동화 프로세스 애플리케이션에 대한 코드 변경사항이 정기적으로 빌드 및 테스트 되어 공유 리포지토리에 통합된다 CD - Continuous Delivery / Continuous Deployment지속적인 서비스 제공, 지속적인 배포를 의미한다(Release - Deploy - Operate)Release : 배포 가능한 소프트웨어 패키지를 작성Deploy : 프로비저닝을 실행하고 서비스를 사.. @PathVariable과 RequestParam 차이점 두 애노테이션 모두 요청 매개변수를 받는 것이다 @RequestParam은 ?매개변수={매개변수값} 형태ex) item?number=1@PathVariable을 사용했을 때는 @GetMapping("/{매개변수}") 형태인 URI의 경로 ex) item/1 소스코드가 같을 때 결과는 같다 @RequestParamURI 쿼리 파라미터의 값을 메서드의 매개변수에 바인딩할 수 있다 (여러개를 받아올 수 있다) @PathVariableREST API로 전송되는 템플릿 변수({매개변수})를 메서드의 파라미터에 바인딩할 수 있다 (여러개를 받아올 수 없다) 출처: https://code-lab1.tistory.com/405 [코드 연구소:티스토리]출처: https://2minmin2.tistory.com/71 .. [Spring] MVC 구조 이해 - 함수와 람다식 request.getParameterNames().asIterator().forEachRemaining(paramName -> System.out.println(paramName + ": " + request.getParameter(paramName))); getParameterNames() 태그의 파라미터 name 속성값만 따로 가져온다(모두) asIterator()iterator 인터페이스형으로 바꿔서 반환한다 forEachRemaining()Iterator를 ArrayList로 변환한다 람다식 https://hstory0208.tistory.com/entry/Java자바-람다식Lambda이란-그리고-사용법 [Java/자바] 람다식(Lambda)이란? 그리고 사용법람다식이란 ? 람다식이란 쉽게 말해 .. [Spring] 스프링 MVC 구조이해 - 서블릿이란 서블릿이란클라이언트 "동적인 웹페이지 요청"을 처리하고 그 결과를 반환하는 기술 ex) 클라이언트의 아이디와 비밀번호 확인 [간단한 등장 배경]사용자가 많아지면서 정적인 자료의 제공을 넘어서 자기 필요에 맞는 자료를 제공받고 싶어했다사용자 요구에 맞춰 동적으로 반응하는 페이지를 만들기 위해 만들어진 것이 서블릿이다 서블릿과 서버 동적인 페이지를 제공하기 위해 SERVER가 WEB 서버와 WAS로 나눠졌다WAS는 연산결과를 웹서버로 제공하고, 웹서버는 정적 페이지를 만들어 사용자에게 제공한다WEB 서버사용자의 요청에 따라 정적인 페이지 제공WAS 서버클라이언트 요청 중 연산이 필요한 부분을 연산이때 WAS에서 연산을 담당하는 것이 서블릿이다 서블릿은 WAS 안에 있는 서블릿 컨테이너(웹 컨테이너) 공간에서.. [점프 투 스프링] 질문 및 요약정리 (2) Dependency Injection ㄴ 스프링이 객체를 대신 생성하여 주입하는 기법을 말한다 @Autouired : 의존성 주입 스프링이 객체를 대신 생성하고 주입한다 Q. 객체 주입 방식이 정확히 무엇을 말하는 것일까? https://mangkyu.tistory.com/125 [Spring] 다양한 의존성 주입 방법과 생성자 주입을 사용해야 하는 이유 - (2/2) Spring 프레임워크의 핵심 기술 중 하나가 바로 DI(Dependency Injection, 의존성 주입)이다. Spring 프레임워크와 같은 DI 프레임워크를 이용하면 다양한 의존성 주입을 이용하는 방법이 있는데, 각각의 방 mangkyu.tistory.com Q. fidbyId의 리턴 타입이 Optional이다. 이 자료형의 특징은.. [점프 투 스프링] 질문 및 요약정리 (1) Spring boot : 자바의 웹 프레임 워크 spring 프레임 워크 + 톰캣(내장 서버) ㄴ 톰캣 : 클라이언트가 요청을 하면 맞는 자바 프로그램을 실행시킨다, 배포되는 jar파일에도 적용된다 대표적인 웹 브라우저 보안공격 SQL 인젝션 SQL 주입공격 XSS js 삽입공격 CSRF 위조된 요청으로 공격 클릭재킹 의도하지 않는 클릭을 유도해서 공격 웹어플리케이션 -- WAS(software 플랫폼) -- 서버환경 Q. WAS가 필요한 이유? 웹 서버 : 정적콘텐츠(즉시 응답이 가능한 것들 : html 문서 등)를 제공한다 WAS : 데이터베이스 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다 기능을 나눠 서버부화를 방지한다 https://codechasseur.tistory.com/25 이전 1 다음