Spring Boot Web 4/10 – Configuración de OAUTH2 SSO

39

En el tutorial anterior, revisamos cómo acceder a una base de datos SQL mediante Spring JPA. En este tutorial, revisaremos cómo configurar la autenticación con social con OAUTH2 de Google. 🤓

Como lo mencionamos en el artículo inicial, el objetivo de esta serie de tutoriales es explicar cómo crear y configurar una aplicación web con Spring Boot usando Thymeleaf, Webjars y autenticación OAUTH2 con Google. 🍃

Dependencias

Comenzaremos agregando las dependencias necesarias: Spring Security, OAUTH2 y Cloud Security, mediante Maven. Recuerda que la primera de estas, fue agregada desde Spring Initialzr.

Configuración en Spring Boot

Para configurar autenticación para un cliente OAUTH2 en Spring Boot, basta con agregar una clase de configuración que herede de WebSecurityConfigurerAdapter y utilizar la anotación @EnableOAuth2Sso (Oauth2 para Single Sing.On Authentication). Una vez especificado esto, configuraremos la seguridad de nuestras URLs dentro del método configure.

Nota como se especifica que las URLs de la página principal, el login y los webjars (a tratar más adelante), quedan abiertas sin autenticación pero el resto de las URL quedan aseguradas. También, que se habilita el logout en la aplicación y se asegura destruir los tokens de OAUTH2.

Propiedades de OAUTH2

Una vez que tenemos habilitada y configurada la autenticación como cliente de OAUTH2, tenemos que especificarle a Spring Boot la información del provedor, esta configuración la podemos hacer dentro de nuestro archivo de propiedades application.yml debajo de src/main/resources de la siguiente manera.

Observa también, como la autenticació básica es deshabilitada mediante este archivo.

Credenciales de Google

Para obtener tus credenciales de Google y poder realizar el SSO, deberás ir a la consola de desarrolladores e ir a la parte de Credenciales, crear un nuevo ID de cliente de OAUTH2 y especificar el nombre de tu aplicación, el origen de llamados a Js autorizados y las URLs de redireccionamiento autorizadas.

Copia el ID y el secret de la consola y pegalas en tu archivo application.yml, como se muestra en el punto anterior.

Continúa con el tutorial

Recuerda que esta serie cuenta con varios tutoriales, puedes consultar el siguiente sobre controladores web en Spring Boot a continuación. 😉

Spring Boot Web 5 – Controladores web

Repositorio de Github

Recuerda que puedes encontrar todo el código de esta aplicación en mi repositorio de Github (no olvides darle estrellita 🌟):

https://github.com/chuucks/Spring-Boot-Web-OAUTH2


Recuerda que el uso y configuración de OAUTH2 SSO con Google en Spring Boot mostrado en este proyecto tiene únicamente fines ilustrativos para la comunidad de Codesolt.

Comments

comments