bestsource

값/참조 토큰을 위한 스프링 클라우드 + Zuul + JWT

bestsource 2023. 2. 9. 22:03
반응형

값/참조 토큰을 위한 스프링 클라우드 + Zuul + JWT

마이크로 서비스내에서 유저 아이덴티티를 제어하는 방법」기사를 읽고, 그러한 액세스 제어 스킴(밸류 및 레퍼런스 토큰)을 실장하려고 하고 있습니다만, Spring Security+OAuth+Zuul에 관한 GitHub의 다른 토픽이나 예를 몇개인가 살펴본 결과, 구체적인 예를 찾을 수 없었습니다.JWT와 관련된 모든 예에서는 토큰이 반환될 때 User Details가 반환됩니다.그것은 피하고 싶습니다.User Details는 클라이언트에 직접 도달하는 것이 아니라 백엔드 서비스에 전달해야 합니다.Spring Security + AngularJs 튜토리얼에는 안전한 애플리케이션으로 발전시키는 방법에 대한 많은 정보가 포함되어 있지만 액세스 토큰을 사용하거나 JWT를 통해 사용자 세부 정보를 직접 얻을 수 있는 가능성에 대해 언급하고 있습니다.

SO 질문인 @phoenix7360인증 게이트웨이로 Zuul을 사용한다는 것은 바로 제가 구현하려고 했던 접근 방식이지만, 마이크로 서비스에 대한 이러한 보안 접근 방식을 실행하기 위해 필요한 구성에 대한 간략한 개요만 제공합니다.진행 상황에 대한 명확한 그림은 이 질문의 이미지를 참조하십시오.

Zuul Pre-Filter 구성 방법과 Authorization Server 구성 방법을 완전히 이해할 수 없습니다.기사와 SO 질문에 모두 언급된 바와 같이 흐름은 다음과 같습니다.

외부(HTTPS)

  1. 클라이언트는 OAuth2 서버에 대해 인증합니다.
  2. OAuth 서버가 불투명 액세스 토큰(다른 정보가 없는 UUID)을 반환합니다.
  3. 클라이언트는 Authorization 헤더에 Access Token을 사용하여 API 게이트웨이로 요청을 전송합니다.
  4. API 게이트웨이가 Authorization 헤더에 Access Token을 사용하여 OAuth 서버에 사용자 상세 정보를 요구합니다.
  5. OAuth 서버가 액세스 토큰이 유효한지 확인하고 사용자 정보를 JSON 형식으로 반환합니다.

내부(HTTP/S)

  1. API 게이트웨이가 사용자 세부 정보를 사용하여 JWT를 생성하고 개인 키로 서명합니다.
  2. API 게이트웨이가 요청할 JWT를 추가하여 리소스 서버로 전송합니다.
  3. 리소스 서버는 API 게이트웨이의 공용 키를 사용하여 JWT를 확인합니다.

주의: OAuth 서버가 액세스 토큰이 유효하지 않음을 나타내는 경우 API 게이트웨이는 오류를 반환해야 합니다.

Zuul Filter는 어떻게 작동합니까?OAuth 서버에 대해 (RestTemplate 경유 등) 새로운 요구를 발행해야 합니까?아니면 현재 구현에서 이러한 스킴이 지원되고 있습니까?OAuth와 Zuul의 JavaConfig 클래스에서 특별히 필요한 설정이 있습니까?만약 누군가가 실제 사례를 알고 있다면, 이 주제에 대한 향후 참조에 매우 도움이 될 것입니다.

스프링 부츠 (1.4.0-M3)+스프링 OAuth+스프링 클라우드 (유레카, 리본, Zuul)를 사용하고 있습니다.

이 질문은 이전에 링크된 질문과 매우 유사하며, 이것이 올바른 방법이 아니라면 죄송하지만, 다른 문제를 해결하기 위해 SO 스레드에 도움을 요청하는 것보다 새로운 스레드가 더 낫다고 생각했습니다.

잘 부탁드립니다!

JHipster는 이 문제에 대해 꽤 잘 대처하고 있습니다.로그인 프로세스에 대해 간단하게 말하고 싶은 경우는, 우선 로그인을 실시해, 아래의 서비스(사용자명, 이메일등)에 건네주는 모든 정보를 취득한 후, 마이크로 서비스에 건네줍니다.자세한 내용은 okta에서 아래 링크를 참조하십시오.https://developer.okta.com/blog/2018/03/01/develop-microservices-jhipster-oauth

언급URL : https://stackoverflow.com/questions/38156213/spring-cloud-zuul-jwt-for-value-reference-tokens

반응형