Servidor de autorização Spring OAuth por trás do Spring Cloud Zuul Proxy

Atualmente, estou desenvolvendo um aplicativo baseado em uma arquitetura de microsserviço. Usamos um API-Gateway implementado usando o Zuul Server do Spring Cloud Netfix para rotear as solicitações para nossos microsserviços.

Para realizar o logon único para todos os nossos serviços, atualmente estou trabalhando em um servidor OAuth2 configurado usando o Spring Cloud Security. O servidor é basicamente apenas copiar e colar a implementação no Repo de Dave Syer's:https://github.com/dsyer/spring-security-angular/tree/master/oauth2/authserver

A principal diferença é que eu quero rotear as solicitações para meu servidor OAuth por meio do Zuul Proxy. Dessa forma, não precisarei expor meu servidor OAuth diretamente e posso adicionar e remover dinamicamente o Servidor de login.

O problema é que não costumo entender como configurar corretamente essa instalação. Quando tento acessar um recurso protegido no servidor OAuth, sou encaminhado para a página de login. É claro que isso é como esperado. Mas não consigo descobrir como definir o nome do host e a porta usados no encaminhamento. O que quero que aconteça é o servidor encaminhar para um endpoint no servidor Zuul que será transferido por proxy novamente para o servidor OAuth. (O API Gateway da Zuul deve ser o único servidor com o qual o cliente já conversou. Todo o resto ficará oculto.)

Como é o host e a porta, são lidos noHttpServletRequest noLoginUrlAuthenticationEntryPoint. Mas a solicitação que o servidor vê é a solicitação enviada pelo proxy Zuul. Por isso, sou encaminhado para um IP interno, não para um endpoint no proxy.

Tentei definir o URL da página de login emWebSecurityConfigurerAdapter.configure(HttpSecurity) para o URL absoluto do meu proxy Zuul. Mas isso fez com que meu aplicativo se queixasse de muitos redirecionamentos. (Pode ter causado um loop lá.)

Qual seria a melhor maneira de configurar isso?

Preciso implementar algum tipo de estratégia de encaminhamento própria, substituindo um bean?Há uma opção de configuração que está faltando?A minha ideia está errada? (Em sua resposta aComo evitar o redirecionamento para outro host com o Zuul? Dave Syer diz que você normalmente não procuraria isso, mas não explica o porquê.)

questionAnswers(2)

yourAnswerToTheQuestion