본문으로 건너뛰기

"spring" 태그로 연결된 3개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 2분
jay.prog

CommonOAuth2Provider

  • 구글, 깃허브, 페이스북, 옥타 등... 의 설정값 제공
CommonOAuth2Provider
public enum CommonOAuth2Provider {
GOOGLE {
@Override
public Builder getBuilder(String registrationId) {
/* ... */
builder.clientName("Google");
return builder;
}
}
}
  • 이외의 다른 소셜 로그인 (네이버, 카카오 등...) 을 추가할 경우, 직접 추가 해 주어야 함

OAuth2 with Google

  • Google 에서 발급된 인증 정보를 통해 로그인 기능 및 소셜 서비스 기능 사용 가능
    • clientId
    • clientSecret

GCP Oauth2 생성 절차

  1. GCP 프로젝트 생성
  2. API 및 서비스 -> 사용자 인증 정보 생성 -> OAuth 클라이언트 ID 생성
  3. 애플리케이션 유형을 웹 애플리케이션으로 설정
  4. 승인된 Redirection URL 설정
    • 서비스에서 파라미터로 인증 정보를 주었을 때 인증이 성공하면 구글에서 리다이렉트 할 URL
    • spring boot 2 security 에서는 기본적으로 {doamin}/login/oauth2/code/{social service code}로 리다이렉트 URL 지원됨
    • 사용자가 별도의 Controller를 생성 할 필요가 없음 (Spring Security 에서 구현 해 놓은 사항)
  5. 생성된 클라이언트 정보에서 Client ID, Client Secret을 받아 application-oauth.properties 파일에 기입
    • spring.security.oauth2.client.registration.google.client-id=client-id
    • TODO 174 page

· 약 1분
jay.prog

@SpringBootTest

  • 전체 컨텍스트를 로드하여 빈을 주입, 속도가 느리고 통합 테스트를 할 경우 많이 사용됨
  • 필요한 빈 만을 등록하여 테스트를 진행하고자 할 경우, @WebMvcTest 사용

@WebMvcTest

  • 보통 컨트롤러 하나만 테스트 하고 싶을 경우 사용
  • @WebMvcTest() 의 프로퍼티로 테스트를 원하는 컨트롤러 클래스를 전달 해 준다

· 약 1분
jay.prog

Spring web layer

Web Layer

  • @Controller, JSP 등의 뷰 템플릿 영역
  • @Filter, @ControllerAdvice 등 외부 요청과 응답에 대한 전반적인 영역을 지칭

Service Layer

  • @Service
  • Controller / DAO 중간 영역에서 사용됨
  • @Transactional이 사용되어야 하는 영역

Repository Layer

  • Database와 같이 데이터 저장소에 접근하는 영역 (DAO)

DTOs

  • DTO : 계층간에 데이터 교환을 위한 객체

Domain Model

  • 도메인 이라고 하는 개발 대상을 모든 사람이 동일한 관점에서 이해할 수 있고 공유 할 수 있도록 단순화 시킨 것
  • @Entity