enrique-j
12/27/2017 - 11:48 AM

Spring Security OAuth2:

Asegurar la aplicación

Para que la aplicación sea segura, solo debemos agregar Spring Security como dependencia. Si lo hacemos, el valor predeterminado será protegerlo con HTTP Basic, por lo que, dado que queremos hacer un inicio de sesión "social" (delegar en Facebook), también agregamos la dependencia de Spring Security OAuth2:

pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.security.oauth</groupId>
    <artifactId>spring-security-oauth2</artifactId>
</dependency>

Para hacer el enlace a Facebook necesitamos una @EnableOAuth2Sso

SocialApplication.java

@SpringBootApplication
@EnableOAuth2Sso
public class SocialApplication {

  ...

}

configuración

(conversión application.properties a YAML para una mejor legibilidad):

application.yml

security:
  oauth2:
    client:
      clientId: 233668646673605
      clientSecret: 33b17e044ee6a4fa383f46ec6e28ea1d
      accessTokenUri: https://graph.facebook.com/oauth/access_token
      userAuthorizationUri: https://www.facebook.com/dialog/oauth
      tokenName: oauth_token
      authenticationScheme: query
      clientAuthenticationScheme: form
    resource:
      userInfoUri: https://graph.facebook.com/me