[V9.1.0 julio de 2018]

Utilizando HTTP autenticación básica con el REST API

Los usuarios de REST API pueden autenticarse proporcionando su nombre de usuario y contraseña en un encabezado HTTP. Para utilizar este método de autenticación con métodos HTTP como, por ejemplo, POST, PATCH y DELETE, la cabecera HTTP ibm-mq-rest-csrf-token también se debe proporcionar, así como un ID de usuario y una contraseña.

Antes de empezar

  • Configure los usuarios, grupos y funciones autorizados para utilizar REST API. Para obtener más información, consulte Configuración de usuarios y funciones.
  • Asegúrese de que la autenticación básica HTTP esté habilitada. Compruebe que el siguiente XML esté presente y no comentado en el archivo mqwebuser.xml. El XML debe estar dentro de las etiquetas <featureManager>:
    <feature>basicAuthenticationMQ-1.0</feature>

    [z/OS]En z/OS®, debe ser un usuario que tenga acceso de escritura a mqwebuser.xml para editar este archivo.

    [UNIX, Linux, Windows, IBM i]En el resto de sistemas operativos, debe ser un usuario con privilegios para editar el archivo mqwebuser.xml .

  • Asegúrese de que esté utilizando una conexión segura cuando envíe solicitudes REST. Dado que la combinación de nombre de usuario y contraseña está codificada, pero no encriptada, debe utilizar una conexión segura ( HTTPS ) cuando utilice la autenticación básica de HTTP con REST API.
  • Para consultar las credenciales del usuario actual, utilice el método HTTP GET en el recurso login y proporcione la información de autenticación básica para autenticar la solicitud. Esta solicitud devuelve información sobre el nombre de usuario, y los roles a los que está asignado el usuario. Para más información, consulte GET /login.

Procedimiento

  1. Concatene el nombre de usuario con dos puntos y la contraseña. Tenga en cuenta que el nombre de usuario distingue entre mayúsculas y minúsculas.
    Por ejemplo, un nombre de usuario admin y una contraseña admin se convierten en la siguiente serie:
    admin:admin
  2. Codifique esta serie de nombre de usuario y contraseña en codificación base64.
  3. Incluya este nombre de usuario y contraseña codificados en una cabecera HTTP Authorization: Basic .
    Por ejemplo, con un nombre de usuario codificado admin y una contraseña admin, se crea la siguiente cabecera:
    Authorization: Basic YWRtaW46YWRtaW4=
  4. Cuando utiliza los métodos HTTP POST, PATCH o DELETE, debe proporcionar una autenticación adicional, así como un nombre de usuario y una contraseña.
    Esta autenticación adicional la proporciona la cabecera HTTP ibm-mq-rest-csrf-token. La cabecera HTTP ibm-mq-rest-csrf-token debe estar presente en la solicitud, pero su valor puede ser cualquier valor, incluyendo espacios en blanco.
  5. Envíe su solicitud REST a IBM MQ con las cabeceras adecuadas.

Ejemplo

El siguiente ejemplo muestra cómo crear una nueva cola Q1, en el gestor de colas QM1, con autenticación básica, en los sistemas Windows . El ejemplo utiliza el cURL:
  • Utilice el método HTTP POST con el recurso de cola y autentíquese con la autenticación básica, incluyendo la cabecera HTTP ibm-mq-rest-csrf-token con un valor arbitrario. Este valor puede ser cualquier valor, incluyendo los espacios en blanco:
    curl -k https://localhost:9443/ibmmq/rest/v1/admin/qmgr/QM1/queue -X POST
    -u mqadmin:mqadmin
    -H "ibm-mq-rest-csrf-token: value"
    -H "Content-Type: application/json" --data "{\"name\":\"Q1\"}"