Ir al contenido principal
Todas las coleccionesGuías de desarrollador
Usando OAuth 2.0 como el Protocolo de Autorización de tu Aplicación
Usando OAuth 2.0 como el Protocolo de Autorización de tu Aplicación

```html <body> Aprende a usar OAuth 2.0 como el protocolo de autorización de tu propia aplicación. </body> ```

Santiago Pachon Robayo avatar
Escrito por Santiago Pachon Robayo
Actualizado hace más de 2 meses

Puedes usar tu App de Ubidots como el anfitrión de tus recursos IoT (dispositivos y variables) y tener una aplicación externa separada (ya sea web, de escritorio o móvil) donde tus usuarios finales accedan a esos recursos de manera segura y controlada, y sin revelar ninguna credencial de Ubidots, utilizando OAuth 2.0.

OAuth 2.0 es un protocolo de autorización diseñado con el objetivo de otorgar acceso limitado a un conjunto de recursos dentro de un servicio web (Ubidots, en este caso). Solo imagina las posibilidades... Podrás crear tus propias aplicaciones para Android, iOS o cualquier aplicación web, y entregar, transformar y mostrar esta información para tus usuarios finales como lo consideres adecuado, solo con un par de solicitudes.

Ciertamente, el proceso de crear tu propia aplicación podría ser frustrante y potencialmente poner en peligro la seguridad de tu aplicación de Ubidots. Con OAuth 2.0 puedes otorgar acceso limitado a tus usuarios y refrescar el token de acceso cuando lo desees. Para entender mejor el flujo de autorización, puedes ver la imagen a continuación o visitar este sitio web.

Requisitos

1. ¿Cómo usar los endpoints de OAuth 2.0?

Los endpoints de OAuth 2.0 están disponibles en esta documentación. Sigue los siguientes pasos para aprender cómo usar los endpoints de OAuth 2.0.

Paso 1: Abre tu terminal o el cliente HTTP de tu preferencia.

Paso 2: Haz una solicitud POST al endpoint del token de acceso.

curl --location --request POST 'https://industrial.api.ubidots.com/o/token/' \ --header 'Content-Type: application/x-www-form-urlencoded' \--data 'grant_type=password' \--data 'username=check' \--data 'password=75904268leo' \--data 'scope=read write' \--data 'client_id=<Tu-client-id>' \--data 'client_secret= <Tu-client-secret>' \

Paso 3: Establece los parámetros específicos establecidos para este endpoint: username, password, client_id y client_secret. Recibirás la siguiente respuesta.

image.png

NOTA IMPORTANTE: El client_id y client_secret deben ser proporcionados por el equipo de soporte de Ubidots. Por favor, contáctanos al siguiente correo electrónico: support@ubidots.com.

Paso 4: Haz una solicitud POST al endpoint de refresco de token para refrescar el token de acceso respectivo.

curl --location --request POST 'https://leo-castellanos-98f30.iot.ubidots.com/o/token/' \--header 'Content-Type: application/x-www-form-urlencoded' \--data 'grant_type=refresh_token' \--data 'refresh_token=ebirEYRFcpSh85PKq2fuo0G3DKBgie' \--data 'client_id=<Tu-client-id>' \--data 'client_secret=<Tu-client-secret>'\

Paso 5: Establece los parámetros específicos establecidos para este endpoint: client_id, client_secret, domain y refresh_token. Recibirás la siguiente respuesta.

image.png

NOTA IMPORTANTE: El token de acceso expira en 1 hora (3600 segundos), por lo tanto, es necesario seguir refrescando el token de acceso de tu usuario, si deseas mantener la sesión activa.

Paso 6: Prueba los endpoints disponibles para el protocolo de autenticación OAuth 2.0. Por favor, dirígete a la documentación de OAuth 2.0 para obtener más información sobre los endpoints permitidos.

Paso 7: Haz una solicitud utilizando el token de acceso proporcionado.

curl —request GET \--url 'https://industrial.api.ubidots.com/api/v2.0/devices' \-H 'Authorization: Bearer <Access_Token>' | jq
image.png

NOTA ADICIONAL: Los usuarios tendrán acceso a estos endpoints dependiendo de los permisos especificados en el rol de permiso del usuario.

¿Ha quedado contestada tu pregunta?