2016-08-04 2 views
0

봄 구름에서 API 게이트웨이로 zuul을 사용하고 있습니다. 이제 zuul에서 추가 구현을 위해 액세스 토큰을 추출하려고합니다. 구현 방법을 제안하십시오. 고마워요Spring Cloud Zuul API 게이트웨이에서 AccessToken 가져 오기

+0

인증을 받으실 수 있습니다. 링크를 여러 번 시작하면 https://jmnarloch.wordpress.com/2015/10/21/spring-cloud-eureka-zuul-and-oauth2-scaling-out- authorization-server/ http://presos.dsyer.com/decks/microservice-security.html#slide25 –

+0

Hi Grinish, 답장을 보내 주셔서 감사합니다. 인증을 획득했지만 응용 프로그램에서 사용자 관리를위한 액세스 토큰을 원합니다. 우리는 추가 구현을 위해 액세스 토큰을 추출하여 redis 세션에 저장하려고합니다. 제안 해주세요. 고맙습니다. –

+1

내가 문제를 올바르게 이해했다면 zuul에서 읽을 수있는 일종의 인증 헤더가 있어야하며 그곳에서 거기에있는 액세스 토큰을 다운 스트림 서비스에 전달할 수 있어야합니다. 그것을 읽고 다운 ​​스트림으로 보내려면 pre zul 필터를 사용해야합니다. –

답변

1

ZUUL에서 필터를 작성해야하는 인증 헤더를 읽으려면 필요에 따라 사전 필터가 필요하다는 생각이들 것입니다. 여기에 필요한 것이 있습니다.

public class TestFilter extends ZuulFilter { 

@Override 
public boolean shouldFilter() { 

    return true; 
} 

@Override 
public Object run() { 

    final RequestContext ctx = RequestContext.getCurrentContext(); 
    final HttpServletRequest request = ctx.getRequest(); 
//Here is the authorization header being read. 
    final String xAuth = request.getHeader("Authorization"); 
//Use the below method to add anything to the request header to read downstream. if needed. 
    ctx.addZuulRequestHeader("abc", "abc"); 

    return null; 
} 

@Override 
public String filterType() { 

    return "pre"; 
} 

@Override 
public int filterOrder() { 

    return 1; 
} 

} 

당신은 당신이 도움이 @EnableZuulProxy

@Bean 
public TestFilter testFilter() { 
    return new TestFilter(); 
} 

희망이 어디 클래스 필터에 대한 @Bean 선언을해야합니다.!

관련 문제