Post Top Ad

Your Ad Spot

sábado, 1 de agosto de 2020

Autenticación sin servidor con API HTTP de AWS

Nuevas API HTTP de AWS

A principios de esta semana, anunciamos soporte para las API HTTP de AWS y hablamos un poco sobre lo que es posible con ellas. Si desea obtener más información sobre la API HTTP de AWS y la nueva fuente de eventos que hemos agregado, integre con ella, consulte esa publicación.
En esta publicación, sin embargo, pasaremos a usar las nuevas API HTTP de AWS con una de las nuevas características que ofrecen: la integración JSON Web Token. Le mostraré cómo usar Amazon Cognito para agregar autenticación y autorización a sus puntos finales de API HTTP de AWS.
Puede optar por seguir junto con ejemplos en Node.js o Python y, hacia el final, le mostraré cómo puede modificar los ejemplos para trabajar con una herramienta como Auth0 u Okta en lugar de Amazon Cognito.
¡Empecemos!

Preparar

En esta guía, crearemos un grupo de usuarios de Amazon Cognito, un cliente de aplicaciones y un dominio, todo desde cero en la resourcessección de serverless.ymlPuede elegir usar Node.js o la versión Python del código. Ejecute uno de los siguientes comandos para comenzar:
  • Para Node.js: git clone https://github.com/fernando-mc/aws-http-api-node-cognito.git
  • Para Python - git clone https://github.com/fernando-mc/aws-http-api-python-cognito.git
Una vez que tenga el código, asegúrese de haber instalado también Serverless Framework , configurar y configurar la AWS CLI y (opcionalmente) haber creado una cuenta de Framework Pro .

Despliegue del proyecto

Con el repositorio clonado, cambie los directorios al repositorio y asegúrese de estar en el mismo nivel que el serverless.ymlarchivo. Luego puede hacer algunos cambios en el código de demostración:
  1. Configure su propio nombre orgappnombre con Framework Pro o elimine el orgappde la parte superior de serverless.yml.
  2. Actualice el DOMAIN_SUFFIXvalor en la sección del entorno del proveedor a algo único. Te recomiendo que uses algo como tu nombre y animal mítico favorito.
  3. Después de eso, guarde el archivo y ejecútelo serverless deploy.
Esto debería implementar todos los recursos de Amazon Cognito necesarios, así como todas las partes de nuestra nueva API HTTP.
Una vez completada la implementación, debería ver dos puntos finales de API en la salida:
1endpoints:
2  GET - https://yea4h11vtb.execute-api.us-east-1.amazonaws.com/user/profile
3  POST - https://yea4h11vtb.execute-api.us-east-1.amazonaws.com/user/profile
4functions:
5  getProfileInfo: http-api-node-dev-getProfileInfo
6  createProfileInfo: http-api-node-dev-createProfileInfo
7layers:
8  None
Copie sus puntos finales y luego intente usar el punto final GET pegándolo en su navegador o en una herramienta como Postman. Deberías ver este resultado:
{"message":"Unauthorized"}
Del mismo modo, si intenta enviar datos JSON al punto final POST, debería ver el mismo resultado.
¡Esto significa que estos puntos finales están protegidos y solo funcionarán con un token web JSON válido! Para obtener esto, necesitaremos generar uno usando la interfaz de usuario alojada de Cognito User Pool.
Inicie sesión en la consola de AWS y navegue a la sección Cognito del tablero. Asegúrese de estar en la misma región en la que implementó su servicio y haga clic en Administrar grupos de usuarios:

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas