Está en la página 1de 3

Construir microservicio Oauth Autorization Server:

 Este servicio es el responsable de emitir tokens Oauth2.0 a clientes Autenticados.


Implementar Oauth 2.0 Token Validation Service:
 Este servicio valida los tokens de acceso entrantes de 2.0, puede ser una operación pero
también un microservicio independiente responsable de verificar las firmas, la caducidad y
los permisos de los tokens.
Microservicio de gestión de Usuarios
 Este microservicio interactúa con la base de datos de los usuarios, debería gestionar el
registro de usuarios, la autenticación y la gestión de perfiles de usuarios
Microservicio de autenticación de dos factores (2FA)
 Este microservicio se encargara de la configuración, verificación y administración de 2FA,
incluirá métodos como correo electrónico.

OAuth2.0: Es un standard de seguridad donde se le da acceso a una aplicación para


acceder a los datos en una aplicación, se otorga una clave para acceder a los datos en esa
aplicación.
Resourse Owner: El usuario dueño de la identidad.
Client: aplicación que desea acceder.
Autorization Server: Donde el propietario del recurso tiene una cuenta.
Resourse Server: La aplicación o interfaz donde el cliente quiere utilizar la información del
propietario.
Reredirect URI: Es la URL donde el servicio del autorización redirige al propietario del
recurso después de otorgar el permiso al cliente.
Response Type: Tipo de respuesta que el cliente espera recibir.
Scope o Alcance: Permisos específicos que el cliente permite.
Consent: Consentimiento que el servidor de autorización para verificar si se da o no
Acceso a ciertos recursos.
Client Id: Se utiliza para identificar al cliente en el servidor de autorización.
Client Secret: Contraseña que solo cliente y servidor conocen.
Autorization Code: Código de corta duración o temporal que se envía dese el servidor
hacia el cliente junto con el client secret para intercambiarlo por un token de acceso.
Access Token: Es la clave que el cliente usara para comunicarse con el servidor de recursos.
Open ID Connect:
JWT significa "JSON Web Token". Es un estándar abierto (RFC 7519) que define una forma
compacta y autónoma de representar información entre dos partes de una forma que
puede ser verificada y validada. En esencia, es un formato de token que se utiliza para
transmitir información entre un servidor y un cliente de forma segura como un objeto
JSON.

Resumen de los pasos y componentes desarrollado hasta ahora:

1. Inicialización del Proyecto:


 Creamos un nuevo proyecto de servidor utilizando Node.js y Express.
 Establecimos una conexión a una base de datos MongoDB.
2. Modelos de Datos:
 Definimos dos modelos de datos: uno para clientes de aplicaciones y
otro para usuarios.
3. Rutas:
 Creamos rutas para manejar las solicitudes HTTP, incluyendo el
registro de usuarios y la autenticación.
4. Autenticación con Passport.js:
 Configuramos Passport.js para manejar la autenticación de usuarios.
 Implementamos el inicio de sesión con Passport y emisión de tokens
JWT.
5. Manejo de Usuarios:
 Implementamos la creación de usuarios y su almacenamiento en la
base de datos.
 Utilizamos bcrypt para el almacenamiento seguro de contraseñas.
6. Gestión de Tokens JWT:
 Emitimos tokens JWT para usuarios autenticados.
7. Rutas Protegidas:
 Implementamos rutas protegidas que requieren un token JWT válido
para acceder.
8. Gestión de Errores:
 Implementamos el manejo de errores y respuestas JSON para
diferentes situaciones.
9. Enrutamiento y Modularidad:
 Organizamos nuestras rutas y controladores en módulos separados.
10. Conexión de Clientes:
 Establecimos la base para la gestión de aplicaciones clientes que
utilizarán OAuth 2.0.
11. Middleware de Passport:
 Configuramos Passport.js para la autenticación de aplicaciones
clientes (OAuth).

En resumen, hemos construido una base sólida para una aplicación de servidor de
autorización que puede gestionar usuarios, aplicaciones clientes y la autenticación
mediante el protocolo OAuth 2.0. A partir de aquí, puedes continuar desarrollando
tu servidor de autorización agregando más funcionalidades, como autorización de
recursos y flujos de OAuth completos. También podrás configurar y personalizar
cómo las aplicaciones clientes interactúan con tus servicios protegidos.

También podría gustarte