Autenticación con Google usando OpenID Connect
Clase 32 de 39 • Curso de Autenticación con Passport.js 2019
Contenido del curso
Conocer qué son los JSON Web Tokens
Entender cómo funcionan las cookies
Implementar autenticación en Express usando Passport.js
- 12

Arquitectura del proyecto Platzi Video
05:10 min - 13

Agregando la colección de usuarios
06:20 min - 14

Agregando la colección de películas de usuario
11:23 min - 15

Implementando el POST y DELETE de las películas de usuario
05:54 min - 16

Cómo conectarnos a la base de datos
00:50 min - 17

Configuración de Passport.js
08:29 min - 18

Implementación de BasicStrategy con Passport.js
05:31 min - 19

Implementación de Strategy y ExtractJwt con Passport.js
05:02 min - 20

Implementación de nuestro Sign-in
12:28 min - 21

Implementación de nuestro Sign-up
05:09 min - 22

Protegiendo nuestras rutas con Passport.js
04:47 min - 23

Middleware para el manejo de scopes
09:48 min - 24

Configuración del server render
03:04 min - 25

Comunicación máquina a máquina
09:24 min - 26

Implementando recordar sesión
01:19 min - 27

Implementación de las rutas de las películas de usuario
09:28 min
Entender qué es OAuth 2.0 y OpenID Connect
Implementar autenticación con redes sociales
- 29

Cómo crear un proyecto en Google API para hacer autenticación con 0Auth 2.0
00:42 min - 30

Implementando 0Auth2.0 con Google
11:43 min - 31

Implementando Sign Provider en nuestra API
07:10 min - 32

Autenticación con Google usando OpenID Connect
Viendo ahora - 33

Cómo crear una cuenta de desarrollador con Twitter
01:02 min - 34

Autenticación con Twitter
10:50 min - 35

Autenticación con Facebook
01:35 min
Asegurar tu aplicación de Express
En el curso vimos como se podia implementar Google Authentication usando la estrategia de OAuth directamente. En esta lectura vamos a explorar como hacer la autenticación usando la estrategia directa de Google.
Lo primero es instalar nuestras dependencias
npm install passport-google-oauth
Luego creamos una nueva estrategia llamada google dentro de utils/auth/strategies/google.js:
const passport = require("passport"); const { OAuth2Strategy: GoogleStrategy } = require("passport-google-oauth"); const { config } = require("../../../config/index"); passport.use( new GoogleStrategy( { clientID: config.googleClientId, clientSecret: config.googleClientSecret, callbackURL: "/auth/google/callback" }, function(accessToken, refreshToken, profile, cb) { const { data, status } = await axios({ url: `${config.apiUrl}/api/auth/sign-provider`, method: "post", data: { name: profile.name, email: profile.email, password: profile.id, apiKeyToken: config.apiKeyToken } }); if (!data || status !== 200) { return cb(boom.unauthorized(), false); } return cb(null, data); } ) );
Teniendo nuestra estrategia de Google ya podemos agregar las dos nuevas rutas de autenticación.
app.get( "/auth/google", passport.authenticate("google", { scope: ["email", "profile", "openid"] }) ); app.get( "/auth/google/callback", passport.authenticate("google", { session: false }), function(req, res, next) { if (!req.user) { next(boom.unauthorized()); } const { token, ...user } = req.user; res.cookie("token", token, { httpOnly: !config.dev, secure: !config.dev }); res.status(200).json(user); } );
Con esto tenemos nuestra implementación de autenticación con Google pero mucho más sencilla.