La plupart des tutoriels que j'ai lus jusqu'à présent utilisent @EnableOAuth2Sso
plutôt que @EnableResourceServer
sur la passerelle API. Quelles sont les différences? Que fait OAuth2Sso
en contraste?
Détails: Je mets en œuvre une architecture de sécurité/infra pour des microservices et des applications à page unique basés sur Spring. Pendant un certain temps, lorsque nous n'avions pas de besoins en matière de sécurité, les applications à page unique communiquaient directement avec des microservices ouverts, sur des hôtes différents (CORS party).
Maintenant, j'ajoute une couche de sécurité et le pattern de passerelle en utilisant spring-oauth
et spring-zuul
. J'ai donc un service (service-uaa) avec @EnableAuthorizationServer
et une passerelle avec @EnableZuulProxy
& @EnableResourceServer
. J'ai seulement besoin du type de consentement password, donc chaque application à page unique a son propre formulaire de connexion et s'authentifie auprès du point de terminaison de jeton du service-uaa, à travers la passerelle, puis utilise ce jeton pour les prochaines requêtes.
Y a-t-il quelque chose de faux dans cette approche? Devrais-je utiliser @EnableOAuth2Sso
?
2 votes
Je souhaite que quelqu'un ait une réponse pour toi - je suis à peu près dans le même bateau. Le mieux que je puisse comprendre, l'annotation
EnableOAuth2Sso
ajoutera quelques filtres http, qui, en théorie, seront "sensibles à l'oauth". J'ai compris, par exemple, qu'elle récupérera automatiquement les jetons d'accès à partir des requêtes entrantes et les transmettra aux services back-end. MAIS, je n'ai pas réussi à le faire fonctionner (en fait, l'annotation a seulement cassé plusieurs choses pour moi jusqu'à présent - je suis sûr que c'est mon manque de connaissance et non pas l'annotation !).