Мы используем zuul как шлюз API в весеннем облаке. Теперь мы хотим извлечь токен доступа из zuul для дальнейшей реализации. Пожалуйста, представьте, как мы хотим реализовать. СпасибоGet AccessToken из весеннего облака zuul API Gateway
0
A
ответ
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();
}
Надеется, что это помогает. !!!
Вы можете сделать 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 –
Привет, Grinish, Спасибо за ответ. Мы достигли аутентификации, но нам нужен токен доступа для управления пользователями в нашем приложении. Мы хотим извлечь токен доступа и сохранить его в сеансе redis для дальнейшей реализации. Пожалуйста, предоставьте предложения. Спасибо. –
Если я правильно понял вашу проблему, у вас должен быть какой-то заголовок авторизации, который вы можете прочитать в zuul и передать токен доступа оттуда до нисходящих служб. Чтобы прочитать это и отправить его вниз по течению, вам нужно будет использовать фильтр pre zuul. –