Get it on Google Play
Tu partner Freelance para tus proyectos IT

Login en tus aplicaciones de microservicios con oAuth2 Proxy

24-09-2020

En el vídeo de hoy hemos visto como usar OAuth2 Proxy para proteger mediante usuario y password cualquier servicio web. Sin escribir ni una línea de código.

Este middleware se instala entre nuestra aplicación y el cliente y gestiona el servicio de login que le configuremos. OAuth2 Proxy permite configurar gran cantidad de proveedores como Google, Facebook, Github o Keycloack entre otros.

oauth2 proxy

oauth2 proxy

No lo he explicado en el código pero podemos recoger la información del usuario mediante las cabeceras que el propio middleware nos injecta: X-Forwarded-Groups, X-Forwarded-Email y X-Forwarded-Preferred-Username.

Instalar OAuth2 Proxy

OAuth2 Proxy es un sencillo comando que hay que descargar, descomprimir y ya puede usarse. En nuestro caso lo hemos hecho con este comando que descarga y descomprime la aplicación:

Descargamos y descomprimimos(https://github.com/oauth2-proxy/oauth2-proxy/releases):
wget https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v6.1.1/oauth2-proxy-v6.1.1.linux-amd64.tar.gz && tar -zxvf  oauth2-proxy-v6.1.1.linux-amd64.tar.gz

Arrancar el proxy

Para arrancar el proxy ejecutamos el comando con la siguiente configuración(Para Google):

./oauth2-proxy \
    --http-address=0.0.0.0:4180 \
    --email-domain=* \
    --cookie-secure=false \
    --cookie-secret=<clave-para-encriptar-la-cookie> \
    --upstream=<URL-del-servicio-a-proteger> \
    --provider=google \
    --client-id=<client-id-de-google> \
    --client-secret=<client-secret-de-google>

Obtener las credenciales de Google

Para obtener las credenciales de Google vamos a https://oauth2-proxy.github.io donde deberemos tener creado un proyecto.

Una vez aquí vamos a “Menú”(1) → “APIs y servicios”(2) → “Credenciales”(3):

Google credentials step 1

Google credentials step 1

Después hacemos “Crear credenciales”(4) y “ID de cliente”(5) de Oauth.

Google credentials step 2

Google credentials step 2

Finalmente seleccionamos “Tipo de aplicación”(6) igual a “Aplicación web”, le ponemos un nombre(7) y no os olvidéis de añadir los “Orígenes de JavaScript autorizados”(8) y “URI de redirección autorizados”(9) (Porque sino os dará error la aplicación):

Google credentials step 3

Google credentials step 3

Si te ha servido, por favor comparte
 

Leave a Reply