Authenticating with OAuth 2.0

Volver al principio

HP reconoce que la privacidad es un derecho humano fundamental, asÌ como tambiÈn la importancia de la privacidad, seguridad y protecciÛn de los datos de nuestros clientes y socios en todo el mundo. Independientemente de si usted es nuestro cliente o socio, puede contar en HP para la protecciÛn de sus datos a travÈs de todas nuestras operaciones. Para que sus aplicaciones accedan a las API de Proactive Management, deben autenticarse.  Proactive Management aprovecha el protocolo est·ndar de la industria OAuth 2.0 para otorgar el acceso, debido a su simplicidad y facilidad de implementaciÛn.

Siga estos pasos para permitir que su aplicaciÛn haga llamadas de API autenticadas usando OAuth 2.0:

 

 

Paso 1 ó Configurar su aplicaciÛn

Para crear una aplicaciÛn:

  • Haga clic en Iniciar sesiÛn para iniciar sesiÛn en el portal de HP Developers usando su inicio de sesiÛn y contraseÒa de Proactive Management. Si a˙n no tiene una cuenta en el portal de HP Developers, haga clic en el enlace Registrarse para crear una.
  • Expanda el men˙ desplegable debajo de su direcciÛn de correo electrÛnico y haga clic en Mis aplicaciones.
  • Haga clic en Agregar una aplicaciÛn nueva.
  • En la p·gina resultante, seleccione el Nombre del producto como HP TechPulse Analytics y llene los siguientes campos para la aplicaciÛn nueva.

 

Campo
DescripciÛn
Obligatorio
¡mbito del producto
Seleccione Lectura bajo el ·mbito del producto
Nombre de la aplicaciÛn
Nombre de la aplicaciÛn del cliente
Nombre ˙nico de la aplicaciÛn
Identificador ˙nico de la aplicaciÛn, el cual se genera autom·ticamente
No
Redirigir URI
redirigir el URI despuÈs de la autenticaciÛn del cliente

 

Nota: Para evitar las transacciones fraudulentas durante el proceso de autenticaciÛn, las API de Proactive Management se comunican con URL de redirecciÛn que han sido identificados como puntos finales confiables.  Aseg˙rese de que el campo Redirigir URL de su aplicaciÛn contiene un URL v·lido para su servidor que estÈ escuchando para completar su parte del flujo de trabajo de autenticaciÛn.

Nota: HP recomienda usar HTTPS siempre que sea posible y tambiÈn usar URL de redirecciÛn absolutos (por ejemplo, "https://example.com/auth/callback", y no "/auth/callback").

  • Haga clic en Crear aplicaciÛn. Esto crea una aplicaciÛn nueva y coloca la solicitud de aplicaciÛn en el estado Pendiente hasta que HP aprueba la solicitud de aplicaciÛn. Haga clic en  Mi aplicaciÛn para revisar el estado de la solicitud de aplicaciÛn nueva.
  • Cuando la solicitud de aplicaciÛn nueva es aprobada por HP, se envÌa un correo electrÛnico al usuario de Proactive Management. Navegue a  Mi aplicaciÛn y la aplicaciÛn nueva estar· en el estado Aprobada.
  • Haga clic en la aplicaciÛn aprobada para obtener la clave de API (ID de cliente) y el secreto de API (secreto de cliente) para esta nueva aplicaciÛn. .

Nota: HP recomienda no compartir el valor del secreto de cliente con nadie; incluyendo su publicaciÛn en foros de soporte para obtener ayuda con su aplicaciÛn.

 

⚠ Importante: El valor de secreto de cliente asociado con su ID de cliente expirar· autom·ticamente despuÈs de 365 dÌas. Registre las fechas de inicio y finalizaciÛn, de forma que estÈ consciente de la edad actual del valor del secreto de cliente. Si el valor del secreto de cliente est· cercano a los 365 dÌas de existencia, restablÈzcalo y actualice su aplicaciÛn. Para obtener m·s informaciÛn sobre el restablecimiento del valor del secreto de cliente, consulte Restablecer el secreto de cliente asociado con su ID de cliente.

 

 

Paso 2 ó Solicitar un cÛdigo de autorizaciÛn

 

DespuÈs de que su aplicaciÛn se configure correctamente, es momento de solicitar un cÛdigo de autorizaciÛn.  El cÛdigo de autorizaciÛn no es el token final que usa para hacer llamadas a la API de analÌtica.  Se usa en el siguiente paso del flujo de OAuth 2.0 para intercambiarlo por un token de acceso real.

 

Redirigir al usuario

Para solicitar un cÛdigo de autorizaciÛn, debe dirigir el navegador del usuario al punto final de autorizaciÛn de OAuth 2.0.  Cuando la solicitud se haya hecho, ocurrir· una de las dos situaciones siguientes:

  • El navegador ser· redirigido a la pantalla de autorizaciÛn de HP DaaS. Cuando el usuario completa el proceso de autorizaciÛn, es redirigido al URI proporcionado en el par·metro de consulta redirect_uri .
  • Si la sesiÛn ya existe, entonces la pantalla de autorizaciÛn es saltada y el usuario es redirigido inmediatamente al URI proporcionado en el par·metro de consulta redirect_uri .

 

Para clientes de EE. UU.

GET https://daas.api.hp.com/oauth/v1/authorize

 

Para clientes de Europa

GET https://eu.daas.api.hp.com/oauth/v1/authorize

 

Par·metro
DescripciÛn
Obligatorio
client_id
El valor de "clave de API" generado cuando registrÛ su aplicaciÛn.
redirect_uri
El URI al cual ser·n enviados sus usuarios despuÈs de la autorizaciÛn.
Este valor debe coincidir con uno de los URL de redirecciÛn de OAuth 2.0 definidos en la configuraciÛn de su aplicaciÛn.
por ejemplo, https://example.com/auth/callback
response_type
El valor de este campo siempre debe ser: "code"
·mbito
·mbito como "LeÌdo"
estado
Una cadena usada para mantener el estado entre la solicitud y la respuesta de redirecciÛn. Esto se usa para evitar el CSRF.
por ejemplo, state=DCEeFWf45A53sdfKef424

 

Llamada de ejemplo

https://daas.api.hp.com/oauth/v1/authorize?client_id=VkGp3021j8m3l6vwz6AEr08lDxrAHdxi&redirect_uri=http://localhost&response_type=code&scope=Read&state=DCEeFWf45A53sdfKef424

 

La experiencia del usuario

Tras ser redirigido, al usuario se le mostrar· la p·gina de autenticaciÛn de HP DaaS .

DespuÈs de la autenticaciÛn, HP DaaS redirige al usuario a la ubicaciÛn especificada en redirect_uri y regresa un cÛdigo de autorizaciÛn y estado.

  • code ó El cÛdigo de autorizaciÛn de OAuth 2.0.

  • state ó Un valor usado para probar posibles ataques de CSRF .

El cÛdigo es un valor que intercambiar· con HP DaaS por un token de acceso de OAuth 2.0 real en el siguiente paso del proceso de autenticaciÛn.  Por razones de seguridad, el cÛdigo de autorizaciÛn tiene una vida muy corta y debe usarse unos momentos despuÈs de recibirlo, antes de que expire y tenga que repetir todos los pasos anteriores para solicitar otro.

Antes de que acepte el cÛdigo de autorizaciÛn, su aplicaciÛn debe asegurarse de que el valor retornado en el par·metro de estado coincide con el valor de estado de su solicitud de cÛdigo de autorizaciÛn original. Esto le asegura que est· trabajando con el usuario original real y no con un script malicioso que de alguna forma ha intervenido en su flujo de autenticaciÛn.  Si los valores de estado no coinciden, probablemente sea vÌctima de un ataque de CSRF y debe arrojar un cÛdigo de error HTTP 401 en respuesta.

 

 

Paso 3 ó Intercambiar el cÛdigo de autorizaciÛn por un token de acceso

 

El ˙ltimo paso para obtener un token de acceso es que su aplicaciÛn solicite uno usando el cÛdigo de autorizaciÛn que acaba de adquirir. Esto se hace mediante la siguiente solicitud de "x-www-form-urlencoded" HTTP POST:

 

Para clientes de EE. UU.

POST https://daas.api.hp.com/oauth/v1/token

 

Para clientes de Europa

GET https://daas.api.hp.com/oauth/v1/token

 

Par·metro
DescripciÛn
Obligatorio
grant_type
El valor de este campo siempre debe ser: authorization_code
code
El cÛdigo de autorizaciÛn que recibiÛ en el Paso 2.
redirect_uri
El mismo valor de 'redirect_uri' que pasÛ en el paso anterior.
client_id
El valor de "clave de API" generado en el Paso 1.
client_secret
El valor de "clave de secreto" generado en el Paso 1.

 

Llamada de ejemplo

POST: /oauth/v1/token HTTP/1.1

Host: https://daas.api.hp.com

Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=cF5faYzL&redirect_uri=http://localhost&client_id=123456789&client_secret=shhdonottell

 

Respuesta de token de acceso

Una solicitud de token de acceso exitosa regresar· un objeto de JSON que contiene los siguientes campos:

  • access_token ó El token de acceso para el usuario.  Este valor debe mantenerse seguro, de acuerdo con su acuerdo para los tÈrminos de uso de la API.
  • expires_in ó El n˙mero de segundos restantes, a partir del momento en que se solicitÛ, antes de que el token expire.  Actualmente, todos los tokens son emitidos con una vida de 30 minutos.
  • refresh_token - Token de actualizaciÛn para solicitar un token de acceso nuevo cuando el token de acceso haya expirado.

 

La longitud de los tokens de acceso es de ~30 caracteres. Le recomendamos que planifique su pila de aplicaciones para manejar los tokens con una longitud de al menos 100 caracteres para adaptarse las necesidades actuales y a los planes de expansiÛn en el futuro. Esto aplica para los tokens de acceso y para los tokens de actualizaciÛn.

 

Vida del token de acceso

Los tokens de acceso se mantienen v·lidos hasta que transcurre el n˙mero de segundos retornados en el campo expires_in en la respuesta de la API.  Un usuario puede pasar a travÈs del flujo de OAuth en m˙ltiples clientes (navegadores o dispositivos) y simult·neamente sostener m˙ltiples tokens de acceso v·lidos.  

 

 

Paso 4 ó Hacer solicitudes autorizadas

 

Tras haber obtenido un token de acceso, puede empezar a hacer solicitudes de API autorizadas en nombre del usuario. Esto se logra al incluir un encabezado de "AutorizaciÛn" en su llamada de HTTP a la API de HP TechPulse Analytics.  Este es un ejemplo de solicitud de HTTP que incluye el valor de encabezado que incluye el token:

 

Llamada de ejemplo

POST: /analytics/v1/reports/hwinv/deviceType/type/graph HTTP/1.1

Host: https://daas.api.hp.com

ConexiÛn: Keep-Alive

AutorizaciÛn: Portador 9vVLTv496kRmIAkfRwDvAUAr271T

 

Tokens inv·lidos

Si hace una llamada de API usando un token inv·lido, recibir· una respuesta "401 Unauthorized" del servidor.  Un token puede ser inv·lido y necesitar regenerarse por lo siguiente:

  • Ha expirado.
  • Un flujo de OAuth2 posterior que generÛ un token de acceso nuevo. El token anterior ser· invalidado.

Ya que el tiempo de expiraciÛn predecible no es el ˙nico factor que contribuye para la invalidaciÛn de un token, es muy importante que codifique sus aplicaciones para manejar adecuadamente la apariciÛn de un error 401 al redirigir al usuario de regreso al inicio del flujo de trabajo de la autorizaciÛn.

Nota: En caso de fallas en sentido descendente en la verificaciÛn del token de acceso, recibir· una respuesta de error 500 o 503.

 

 

Paso 5 ó Actualizar sus tokens de acceso

 

Para proteger los datos de nuestros miembros, HP DaaS no genera tokens de acceso con una vida excesivamente larga.  Debe asegurarse de que su aplicaciÛn estÈ diseÒada para manejar la actualizaciÛn de los tokens de usuario antes de que expiren, para evitar tener que enviar innecesariamente a los usuarios a travÈs del proceso de autorizaciÛn para que vuelvan a obtener acceso a un perfil de DaaS .

Actualizar un token

Para actualizar un token de acceso,

  • El token de actualizaciÛn obtenido del flujo del cÛdigo de autorizaciÛn puede usarse en el flujo del token de actualizaciÛn para obtener un token de acceso nuevo. el flujo del token de actualizaciÛn no implica la interacciÛn del usuario final. 
  • Ahora envÌe una solicitud de POST al punto final de /oauth/v1/token para intercambiar el token de actualizaciÛn por un token de acceso.
  • Se usar· la autenticaciÛn b·sica de HTTP al hacer esta solicitud junto con el encabezado de solicitud y el cuerpo como se explica a continuaciÛn.

 

Para clientes de EE. UU.

POST https://daas.api.hp.com/oauth/v1/token

 

Para clientes de Europa

GET https://daas.api.hp.com/oauth/v1/token

 

Par·metro
DescripciÛn
Obligatorio
grant_type
Para actualizar el token, este valor debe ser: refresh_token
refresh_token
El token de actualizaciÛn regresado a usted al autenticarse originalmente

 

Autenticarse con autenticaciÛn b·sica

Para actualizar el token, debe usar la autenticaciÛn b·sica de HTTP, proporcionar la clave de API y el secreto concatenados junto con un sÌmbolo : separ·ndolos, y codificar esa cadena resultante en base64.

Encabezado de autenticaciÛn de ejemplo:

AutorizaciÛn: Basic OTZDbml6gragegrmmWVHRnFHSjlRZ0FtQzRGRFE6TGdWTElrQXdCdG=


Llamada de ejemplo

POST /oauth/v1/token HTTP/1.1
Accept: application/json
AutorizaciÛn: Basic OTZDbml6ZUJoTXdQR1RXXXVHRnFFE6TGdWTElrQXdCdGFMenEzVFZqNkFkUUR0a0xWRXFNcnQ=
Content-Type: application/x-www-form-urlencoded
Host: daas.api.hp.com

grant_type=refresh_token&refresh_token=HZQlf0Bxc2gaergkQUYVjtoCaCwsTp

 

Respuesta de ejemplo

{
    "access_token": "9vVLTv496kRmIAkfRwDvAUAr271T",
    "scope": "Read",
    "token_type": "Bearer",
    "refresh_token": "D9HhoBelDMPizflefEMRNztIlrnEflUP",
    "expires_in": 1799999
}

 

 

 

Paso 6 - Entender los permisos de aplicaciÛn

A continuaciÛn se muestran los roles que pueden acceder a las API de HP TechPulse Analytics y HP TechPulse Incident Integration.

  • Customer ñ Administrador de TI, administrador de informes
  • MSP ñ Especialista en soporte, administrador de soporte
  • Partner ñ Administrador de socios