2016-08-04 6 views
0

Мы используем zuul как шлюз API в весеннем облаке. Теперь мы хотим извлечь токен доступа из zuul для дальнейшей реализации. Пожалуйста, представьте, как мы хотим реализовать. СпасибоGet AccessToken из весеннего облака zuul API Gateway

+0

Вы можете сделать zuul сделать аутентификацию. Путь ссылок, чтобы вы начали 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

Привет, Grinish, Спасибо за ответ. Мы достигли аутентификации, но нам нужен токен доступа для управления пользователями в нашем приложении. Мы хотим извлечь токен доступа и сохранить его в сеансе redis для дальнейшей реализации. Пожалуйста, предоставьте предложения. Спасибо. –

+1

Если я правильно понял вашу проблему, у вас должен быть какой-то заголовок авторизации, который вы можете прочитать в zuul и передать токен доступа оттуда до нисходящих служб. Чтобы прочитать это и отправить его вниз по течению, вам нужно будет использовать фильтр pre zuul. –

ответ

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; 
} 

} 

Вам потребуется @Bean декларации для фильтра в классе, где у вас есть @EnableZuulProxy

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

Надеется, что это помогает. !!!

 Смежные вопросы

  • Нет связанных вопросов^_^