2015-04-02 1 views
2

J'ai essayé de jouer avec Zuul, un proxy inverse utilisé dans Spring Cloud Netflix. J'ai commencé un projet à partir d'un tutoriel trouvé sur le blog de printemps (https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v)Comment éviter la redirection vers un autre hôte avec Zuul?

Je ne suis pas sûr cependant que j'ai bien compris le rôle de Zuul. Si je vais à localhost: 8080/login, je pensais que Zuul aurait proxiqué ma demande pour que je reste sur localhost: 8080 Mais j'ai reçu une redirection 302 vers localhost: 9999/uaa/login.

Les routes Zuul configurées sont les suivantes:

zuul: routes: resource: path: /resource/** url: http://localhost:9000/resource login: path: /login/** url: http://localhost:9999/uaa/login user: path: /user/** url: http://localhost:9999/uaa/user auth: path: /auth/** url: http://localhost:9999/uaa/

Est-il jamais possible de toujours rester sur localhost: 8080 (ce qui est ce que je pensais Zuul était censé faire)?

Le projet complet est disponible sur github il est donc possible de l'exécuter localement: https://github.com/hlassiege/oauth-social-zuul

Répondre

6

La redirection est causée par Spring Security, non par la partie Zuul de la configuration, donc quelle que soit la configuration Zuul, Les fonctionnalités de sécurité vont vous empêcher d'obtenir quoi que ce soit avant que vous vous soyez authentifié. Le serveur "localhost: 9999/uaa" est un serveur d'autorisation OAuth2. Il joue un rôle comme Github ou Facebook dans le scénario SSO ("Login with Facebook" etc.). Vous ne voudriez pas utiliser ces appels parce que le serveur gère ses propres protocoles. Si vous n'avez pas OAuth2 SSO alors vous pourrait appels proxy à tout ce que vous vouliez.