Aprende a configurar OAuth para tu aplicación utilizando esta guía rápida y una aplicación Node.js de ejemplo.
Los campos marcados con * son obligatorios.
Parámetro | Descripción | Ejemplo |
---|---|---|
client_id * | El ID del cliente identifica tu aplicación. Encuéntralo en la página de configuración de tu aplicación. | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
scope * | Los permisos que tu aplicación solicita, separados por espacios codificados de URL (%20 ). | oauth%20crm.objects.contacts.read |
redirect_uri * | La URL a la que el usuario será redirigido después de autorizar a tu aplicación para los permisos solicitados. Para aplicaciones en producción, se requiere https . | https://www.example.com/auth-callback |
optional_scope | Los permisos que son opcionales para tu aplicación y se eliminarán si el portal de HubSpot seleccionado no tiene acceso a esos productos | automation |
state | Un valor de cadena que se puede usar para mantener el estado del usuario cuando se redirecciona de regreso a tu aplicación. | WeHH_yy2irpl8UYAvv-my |
userA.integration.com
y userB.integration.com
). Para ello, utiliza el parámetro state
para codificar más información sobre el estado del usuario:
1. Genera y almacena un valor “nonce” para el parámetro de estado.
2. Almacena el estado del usuario en un almacén de datos local utilizando el “nonce” como su clave.
3. Incluye el valor “nonce” como el parámetro de estado en la URL de autorización.
4. Cuando el usuario se autentica y es redirigido a tu URL de redirección, valida el parámetro de estado y úsalo como la clave para recuperar el estado de usuario que estaba almacenado.
5. Desde allí, redirige al usuario según sea necesario (por ejemplo, redirige de nuevo a una URL específica del usuario).
GET
al URI de redireccionamiento especificado en tu URL de autenticación. Si no hay problemas y el usuario aprueba la solicitud de acceso, la solicitud al URI de redireccionamiento se devolverá con un parámetro de consulta de code
adjunto. Si el usuario no otorga el acceso, no se enviará ninguna solicitud.
Ejemplo:
POST
codificada en formato de formulario URL a https://api.hubapi.com/oauth/v1/token
con los valores que se muestran a continuación. Para obtener información más detallada sobre este paso, puedes leer este documento de referencia.
Parámetro | Descripción | Ejemplo |
---|---|---|
grant_type | Debe ser authorization_code | authorization_code |
client_id | ID de cliente de tu aplicación | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
client_secret | La clave de cliente de tu aplicación | 7c3ce02c-0f0c-4c9f-9700-92440c9bdf2d |
redirect_uri | El URI de redireccionamiento desde el momento en que el usuario autorizó tu aplicación | https://www.example.com/auth-callback |
code | El código de autorización recibido del servidor OAuth 2.0 | 5771f587-2fe7-40e8-8784-042fb4bc2c31 |
expires_in
de la respuesta, actualmente, 30 minutos. Para más detalles sobre cómo obtener un nuevo token de acceso, consulta la sección Actualizar tokens OAuth más abajo.Authorization
. Los detalles específicos se pueden encontrar en el documento de referencia.
Ejemplo:
crm.objects.contacts.read
, el token de acceso resultante puede ver todos los contactos de la cuenta y no solo los que son propiedad del usuario que autoriza.expires_in
cuando se intercambia un código de autorización por un token de acceso.
Tu aplicación puede intercambiar el token de actualización recibido por un nuevo token de acceso enviando una solicitud POST
codificada en formato de formulario URL a https://api.hubapi.com/oauth/v1/token
con los siguientes valores. Para obtener información más detallada sobre este paso, consulta el documento de referencia.
Parámetro | Descripción | Ejemplo |
---|---|---|
grant_type | Debe ser refresh_token | refresh_token |
client_id | ID de cliente de tu aplicación | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
client_secret | La clave de cliente de tu aplicación | 7c3ce02c-0f0c-4c9f-9700-92440c9bdf2d |
redirect_uri | El URI de redireccionamiento desde el momento en que el usuario autorizó tu aplicación | https://www.example.com/auth-callback |
refresh_token | El token de actualización recibido cuando el usuario autorizó a tu aplicación | b9443019-30fe-4df1-a67e-3d75cbd0f726 |