mkyong example angular spring-boot spring-security-oauth2 spring-social

example - spring security angular 5



cómo asegurar el servicio RESTful de Spring Boot con OAuth2 y Social login (1)

Estoy tratando de usar la aplicación Angular 2 Front End como cliente que consumirá el recurso del Spring Web Service RESTful.

Así que pensé en proteger este servicio web con la autenticación OAuth 2 y Social Login (Google y Facebook).

Después de iniciar sesión correctamente con Social Login, no está redirigiendo a la URL (puerto en el que se está ejecutando Angular 2 en el entorno local con 3000 puertos) desde el que realicé la solicitud, pero está redirigiendo al puerto 8080 en el entorno local

localhost: 3000 - Front End localhost: 8080 - OAuth

Seguí este tutorial https://spring.io/guides/tutorials/spring-boot-oauth2/ para el escenario anterior pero están utilizando la aplicación JAVA como su cliente y está manejando con anotaciones.


Puedo lograr el inicio de sesión social con múltiples recursos RESTful siguiendo dos ejemplos de aplicaciones, a continuación se detallan los pasos:

(1) Pago y envío https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/oauth2

(2) Borre la carpeta "authserver" (Usaremos auth-server de otro proyecto)

(3) Checkout auth-server de la demostración social: https://github.com/spring-guides/tut-spring-boot-oauth2/tree/master/auth-server

(4) Abra application.yml del proyecto "ui" y realice los siguientes cambios:

server.port: 9001 server.context-path: /zuul debug: true spring: aop: proxy-target-class: true security: oauth2: client: client-id: acme client-secret: acmesecret access-token-uri: http://localhost:8080/oauth/token user-authorization-uri: http://localhost:8080/oauth/authorize grant-type: implicit resource: user-info-uri: http://localhost:8080/me zuul: routes: resource: path: /resource/** url: http://localhost:9000/resource user: path: /user/** url: http://localhost:8080/me logging: level: org.springframework.security: DEBUG

(5) Abra application.yml de auth-server y agregue las propiedades de google:

google: client: clientId: <your client id> clientSecret: <your client secret> accessTokenUri: https://accounts.google.com/o/oauth2/token scope: profile,email userAuthorizationUri: https://accounts.google.com/o/oauth2/auth clientAuthenticationScheme: form redirect-uri: http://localhost:8080 resource: userInfoUri: https://www.googleapis.com/plus/v1/people/me

(6) Abrir SocialApplication.java of auth-server: agregue bean y filtros relacionados con Google (similar a facebook y github).

(7) cambie el nombre de application.properties a application.yml del proyecto "resource" que sigue es el contenido de ese yml:

server: port: 9000 context-path: /resource security: oauth2: resource: user-info-uri: http://localhost:8080/me logging: level: org.springframework.security: DEBUG org.springframework.web: DEBUG

(8) Ahora ejecute los proyectos auth-server, resource y ui y pulse URL con el puerto 9001 y context / zuul.