edu-pi / Backend-User-Server

0 stars 0 forks source link

[Search] Spring Cloud Gateway, Spring Cloud Security, Spring Security, 직접 구현 4가지 방식을 조사하고 결정 #4

Closed SongGwanSeok closed 2 months ago

SongGwanSeok commented 2 months ago

📝 Description

무엇을?

왜?

❗️Todo

ETC

기타사항

SongGwanSeok commented 2 months ago

Spring Cloud 스프링 클라우드는 분산 시스템에서 필요한 다양한 기능들을 추상화하여 제공한다. 마이크로 아키텍처를 구현할 때 유용하게 사용된다.

  1. Spring Cloud Gateway 스프링 클라우드 게이트웨이는 API 게이트웨이 역할을 합니다. Gateway 자체는 인증과
  1. Spring Cloud Security [Spring Cloud] Gateway Security - 적용 스프링 클라우드 시큐리티도 Gateway를 사용한다. 이 블로그는 jwt를 기준으로 설명한다.

동작 과정

  1. 최초 사용자의 요청에는 JWT가 없기 때문에 gateway에서 JWT를 검증하지 않는다.
  2. gateway를 지나 User Service에서 로그인 과정을 통해 JWT를 반환한다.
  3. 이후 사용자는 서버에 API를 호출할 때 헤더에 JWT 정보를 담아서 요청한다.
  4. 다음부터는 Gateway에서 JWT를 검증하는 과정을 거친다.
  1. Spring Security
  1. 직접 구현

  1. Spring Cloud Security를 사용하는 이유는? MSA 방식에서 각각의 서비스 앞단에 인가 과정을 넣는 것이 불필요하기 때문
  2. 우리 서비스가 MSA 방식을 사용하나? No
  3. 그럼 우리가 Spring Cloud Security를 사용해야 하는 이유가 있는가? No
  4. Spring Security는 우리에게 필요한가? 인증과 인가를 간단하게 처리해줄 수 있고, 많은 보안처리들을 자동으로 해준다.
  5. Spring Security를 사용하지 않으면 회원 기능을 구현할 수 없는가? No 할수 있다.

나의 결론 Spring Security를 참고하며 우리에게 필요한 기능들을 적용하고 구현하면 어떨까? 직접 구현하는 것이 힘들다고 생각되면 Spring Security를 사용하는 것도 나쁘지 않을 것 같다. 물론 정확히 알고 사용해야 한다!