Crear y administrar clientes de OAuth
OAuth es un protocolo de seguridad estándar para autorización y delegación. Permite que aplicaciones de terceros accedan a los recursos de las API sin revelar las credenciales del usuario final. Un cliente de OAuth puede obtener un código de autorización e intercambiarlo con un token de acceso que se puede utilizar para acceder al contenido de Qlik Cloud mediante las API.
Clientes públicos y confidenciales
OAuth tiene dos tipos de clientes, los clientes públicos y los clientes confidenciales, para asegurar la autorización entre una aplicación (el cliente) y el servidor de autorización (Qlik Cloud).
Clientes públicos
Los clientes públicos son aplicaciones que no utilizan el secreto de cliente porque no pueden mantener la confidencialidad de las credenciales requeridas. Los clientes públicos en Qlik Cloud suelen ser aplicaciones frontales de usuario, como aplicaciones de una sola página con análisis integrado o una extensión de visualización personalizada en Qlik Sense, que requieren información sobre el usuario final para respaldar el ciclo de vida de la aplicación.
Vea : RFC 6749 Section 2.1: Tipos de clientes OAuth 2.0.
Qlik Cloud admite clientes confidenciales para aplicaciones web tradicionales (del lado del servidor) y clientes públicos para aplicaciones nativas y de una sola página que utilizan tipos de concesión específicos.
Clientes confidenciales
Un cliente confidencial es una aplicación que mantiene una identificación de cliente y un secreto de cliente de manera segura sin exponerlos a terceros no autorizados. Los clientes confidenciales pueden tener acceso a los recursos protegidos porque están en posesión del secreto del cliente. Un ejemplo de un cliente confidencial es una aplicación web con un backend seguro que interactúa con las API de Qlik Cloud para orquestar tareas de actualización de datos o administrar el acceso de los usuarios al contenido.
Tipos de concesión de autorización
Qlik admite dos tipos de concesión de autorización, o flujos: Flujo de códigos de autorización y Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE). Estos flujos son muy similares, pero se utilizan en diferentes casos.
Flujo de códigos de autorización
Las aplicaciones web tradicionales son aplicaciones del lado del servidor en las que el código fuente no se expone públicamente, por lo tanto, pueden usar el flujo de códigos de autorización, que intercambia un código de autorización por un token. Las aplicaciones web que usan este flujo deben estar del lado del servidor porque el secreto del cliente de la aplicación se pasa al servidor de autorización durante el intercambio de un token.
Vea: Flujo de códigos de autorización para más detalles.
Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE)
Las aplicaciones nativas y de una sola página no pueden almacenar un secreto de cliente, porque se puede acceder a su código fuente descompilando la app o viendo la fuente de la app a través de un navegador, respectivamente. PKCE agrega una capa adicional de protección en clientes públicos al requerir el uso de un verificador de código para obtener un token de acceso.
Vea: Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE) para más detalles.
Limitar los ámbitos disponibles para los clientes de OAuth
Los ámbitos de OAuth ofrecen una manera de limitar la cantidad de acceso que se otorga a las aplicaciones cliente de OAuth. Por ejemplo, a un token de acceso emitido a una aplicación cliente se le puede otorgar acceso completo a recursos protegidos o solo acceso de lectura.
En Qlik Cloud, los ámbitos proporcionan una manera de controlar el acceso del cliente a la funcionalidad y los recursos disponibles. Cada ámbito otorga un nivel de acceso diferente. Los clientes sin ámbitos no podrán acceder a ningún recurso.
Crear un cliente de OAuth
Los clientes de OAuth son administrados por los administradores de los espacios empresariales inquilinos desde el centro de actividades Administración en la página de OAuth.
Con un cliente de OAuth puede integrar su aplicación cliente con Qlik Cloud.
Para aprender a crear un cliente de OAuth para la implementación e instalación del complemento de Qlik para Microsoft Excel, consulte Crear un cliente de OAuth para el complemento de Qlik para Microsoft Excel.
Haga lo siguiente:
-
Vaya a OAuth en el centro de actividades Administración.
-
Haga clic en Crear nuevo.
-
Seleccione un tipo de cliente.
Utilice Web para los clientes confidenciales y App de una sola página o Nativa para clientes públicos.
-
En el diálogo, asigne un nombre al cliente de OAuth.
-
Añada una descripción, si lo desea.
-
Seleccione cualquiera de los ámbitos disponibles, ya sea desplazándose o utilizando el campo de búsqueda.
Ámbito Permiso user_default Acceso completo a su cuenta y contenido admin_classic Acceso completo de administrador a su espacio empresarial inquilino
Vea también: Desplegar y administrar Qlik Cloud
Nota informativaNo se admite con tipos de clientes App de una sola página y Nativo.admin.apps Leer y administrar todas las apps del espacio empresarial inquilino.
Vea también: Administrar apps
admin.apps:export
Exportar todas las apps del espacio empresarial inquilino
Vea también: Exportar apps
admin.apps:read
Leer todas las apps del espacio empresarial inquilino admin.automations Leer y administrar todas las automatizaciones del espacio empresarial inquilino
Vea también: Administrar las automatizaciones
admin.automations:read
Leer todas las automatizaciones del espacio empresarial inquilino admin.spaces Leer y administrar todos los espacios del espacio empresarial inquilino
Vea también: Administrar los espacios
admin.spaces:read
Leer todos los espacios del espacio empresarial inquilino apps Leer y administrar sus apps
Vea también: Administrar apps
apps:export
Exportar sus apps
Vea también: Exportar apps
apps:read
Leer sus apps Automatizaciones Leer y administrar sus automatizaciones
Vea también: Administrar las automatizaciones
automations:read
Leer sus automatizaciones automl-experimentos Leer y administrar sus experimentos de ML automl-implementaciones Leer y administrar sus implementaciones de ML identity.email:read Leer su dirección de correo electrónico
Vea también: Proveedores de identidad en Qlik Cloud
identity.name:read
Leer su nombre completo identity.picture:read Leer su imagen de perfil
Vea también: Proveedores de identidad en Qlik Cloud
identity.subject:read
Leer su identificador de usuario spaces.data Leer y administrar sus espacios de datos
Vea también: Administrar los espacios
spaces.data:read
Leer sus espacios de datos spaces.managed Leer y administrar sus espacios administrados
Vea también: Administrar los espacios
spaces.managed:read
Leer sus espacios administrados spaces.shared Leer y administrar sus espacios compartidos
Vea también: Administrar los espacios
spaces.shared:read
Leer sus espacios compartidos offline_access Acceder a recursos mientras está desconectado
Nota informativaNo se admite con el tipo de cliente App de una sola página.Nota informativaPuede usar los botones Todo y Seleccionado encima de la lista para mostrar todos los ámbitos o solo los ámbitos seleccionados.Nota informativaLa lista anterior refleja los ámbitos admitidos en la versión inicial. Puede encontrar una lista completa de ámbitos, incluidos los ámbitos agregados después del lanzamiento inicial, en la página Portal para desarrolladores de Qlik. -
Indique una o varias URL de redirección para la aplicación cliente de OAuth.
Nota de sugerenciaLa URL de redirección es donde el servidor de autorización envía al navegador del usuario tras autenticar y conceder permiso a la aplicación cliente. Por ejemplo, https://www.exampleapp.com/oauth/callback, donde /oauth/callback gestiona las devoluciones de llamada de autenticación del proveedor OAuth.Qlik Cloud redirigirá al usuario a la aplicación después de una autorización satisfactoria solo si su URL está en la lista de elementos permitidos de URL de redireccionamiento. Las URL deben comenzar por https://, a menos que el dominio sea localhost, en cuyo caso puede comenzar por http://. Las aplicaciones nativas también pueden usar el formato de enlace específico de la aplicación, por ejemplo, exampleapp://.
Haga clic en Agregar para agregar la URL de redireccionamiento a la lista de permitidos.
-
Para el tipo de cliente Web o Single-page app, especifique uno o más orígenes permitidos. El acceso a la aplicación sólo se concederá si la URL se añade a la lista de orígenes permitidos.
-
Para el tipo de cliente Web, puede activar Permitir máquina a máquina (M2M) o Permitir suplantación de usuario M2M para el acceso automatizado al sistema sin interacción del usuario. La suplantación M2M permite a su aplicación actuar en nombre de los usuarios durante la autenticación.
-
Haga clic en Crear.
-
Haga clic en Copiar al portapapeles para guardar la ID del cliente y el secreto de cliente para su uso posterior. Guarde el secreto del cliente en un lugar seguro. Haga clic en Hecho.
Nota informativaLos clientes públicos no tendrán ningún secreto de cliente.
Crear un cliente de OAuth para el complemento de Qlik para Microsoft Excel
Se requiere una configuración de cliente OAuth para instalar el complemento Qlik para Microsoft Excel. Los desarrolladores de informes utilizan el complemento para preparar plantillas de informes que controlan el resultado de salida de informes tabulares desde la aplicación de Qlik Sense.
Para que OAuth funcione en el complemento, el cliente de OAuth debe configurarse con la configuración exacta que se muestra a continuación.
Haga lo siguiente:
-
En el centro de actividades Administración, en Qlik Cloud, vaya a OAuth.
-
Haga clic en Crear nuevo.
-
En el menú desplegable Tipo de cliente, seleccione App de una sola página. Aparecerán más campos.
-
Inserte un Nombre. La Descripción es opcional.
-
Como mínimo, marque la casilla de verificación para incluir el ámbito user_default. Puede incluir otros ámbitos en la configuración, pero sin user_default, la instalación no funcionará.
Vea Crear un cliente de OAuth para obtener una descripción completa de cada ámbito disponible.
-
En el campo Agregar las URL de redireccionamiento, inserte la URL de su espacio inquilino, seguida de la cadena fija: /office-add-ins/oAuthLoginSuccess.html
El resultado debería presentar el siguiente aspecto: https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
Haga clic en Añadir.
-
En el campo Agregar orígenes permitidos, inserte la URL de su espacio inquilino y haga clic en Agregar.
-
Haga clic en Crear.
-
Aparecerá la ventana Copie su ID de cliente. Puede optar por copiar el ID del cliente al portapapeles o hacer clic en Hecho para cerrar la ventana.
Después de haber creado el cliente OAuth, obtenga el enlace al archivo XML del manifiesto actualizado desde el centro de actividades Administración. Vaya a la página de Configuración y navegue hasta Compartir e informes > Excel complemento dentro del centro de actividades Administración . Utilice este enlace para implementar e instalar el complemento.
Para obtener más información sobre cómo generar el archivo de manifiesto, así como cómo implementar e instalar un complemento, consulte:
-
Implementar e instalar el complemento de Qlik para Microsoft Excel
-
Administrar los manifiestos de instalación para el complemento de Qlik para Microsoft Excel
Crear un cliente de OAuth para la inserción anónima del contenido de una app
Para incrustar contenido de una app para acceso anónimo usando qlik-embed, necesita crear un cliente de OAuth con un tipo específicamente diseñado para este caso de uso.
Haga lo siguiente:
-
En el centro de actividades Administración, vaya a la sección de OAuth.
-
Haga clic en Crear nuevo.
-
En el menú desplegable Tipo de cliente, seleccione Incrustación anónima.
-
Escriba un Nombre y, si lo desea, una Descripción para el cliente de OAuth.
-
En Orígenes permitidos, introduzca cada uno de los orígenes que debe autorizar. Estos son los dominios que accederán al espacio empresarial inquilino de Qlik Cloud para recuperar la información para la analítica incrustada.
Haga clic en Añadir tras insertar cada URL.
-
Cuando haya terminado, haga clic en Crear.
-
Haga clic en Copiar al portapapeles para guardar el ID de cliente para su uso posterior. Será necesario cuando el contenido de la app esté incrustado con qlik-embed.
-
Haga clic en Hecho.
Editar un cliente OAuth
Puede cambiar el nombre de un cliente de OAuth, actualizar la descripción o administrar las URL de redireccionamiento.
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Seleccione el cliente de OAuth que desee editar. Haga clic en ... y seleccione Editar.
- En el diálogo, cambie las opciones del cliente de OAuth según sea necesario.
- Haga clic en Guardar.
Publicar un cliente de OAuth
Los clientes de OAuth creados se vinculan automáticamente al espacio empresarial inquilino que los creó. Puede configurar un cliente de OAuth para que se comparta y esté disponible para todos los demás espacios empresariales inquilinos dentro de una región. Las aplicaciones de terceros que se conectan a Qlik Cloud pueden tener el mismo ID de cliente para todos los espacios empresariales inquilinos de Qlik Cloud. El propietario de la aplicación puede rotar los secretos y actualizar la configuración sin la interacción de un administrador de un espacio empresarial inquilino. Los administradores de un espacio empresarial inquilino no necesitarán administrar las credenciales ni conocer los detalles de configuración.
Para permitir que otros espacios empresariales inquilinos se conecten a un cliente de OAuth, debe publicarse.
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Seleccione el cliente de OAuth que desee publicar. Haga clic en ... y seleccione Publicar.
- Haga clic en Publicar.
Cuando un usuario navega a un sitio web externo que utiliza Qlik OAuth, se le solicita el nombre de host del espacio empresarial inquilino y, posteriormente, también las credenciales del usuario, a menos que el usuario ya tenga una sesión activa de SaaS. El primer inicio de sesión con un cliente de OAuth externo requiere el consentimiento de un administrador del espacio empresarial inquilino. Cuando se aprueba, el nuevo cliente de OAuth se muestra en el centro de actividades Administración.
Método de consentimiento
Tiene dos opciones para el consentimiento: Required o Trusted. Con la autorización Required mediante el cliente de OAuth, se solicitará el consentimiento cada vez que se solicite un nuevo ámbito para el usuario. Con la opción Trusted, no se le solicitará al usuario. Solo puede usar Trusted para clientes que no estén publicados. Para los clientes publicados, el método de consentimiento siempre es Required.
Ver y copiar la configuración de OAuth
En la sección OAuth del centro de actividades Administración, seleccione Ver configuración de OAuth para mostrar la configuración como un fragmento de código y una URL para copiar.
Eliminar un cliente de OAuth
Puede eliminar un cliente de OAuth cuando ya no lo necesite o para revocar el acceso.
Haga lo siguiente:
-
Vaya a OAuth en el centro de actividades Administración.
-
Seleccione el cliente de OAuth que desea eliminar y haga clic en Eliminar.
Nota informativaPuede eliminar más de un cliente de OAuth a la vez. - Confirme que desea eliminar el cliente de OAuth.
Gestionar los secretos de cliente
Es posible que deba agregar o eliminar un secreto de cliente si, por ejemplo, un secreto de cliente se ve comprometido o si su política de seguridad requiere que lo actualice periódicamente. También puede agregar varios secretos de cliente para evitar el tiempo de inactividad en la aplicación. Por ejemplo, puede crear un segundo secreto, implementar el nuevo secreto en su aplicación cliente y luego eliminar el antiguo secreto.
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Seleccione el cliente de OAuth que desea administrar. Haga clic en ... y seleccione Administrar secretos.
- En el cuadro de diálogo, realice una de las siguientes acciones:
- Para agregar un nuevo secreto de cliente, haga clic en Generar un nuevo secreto de cliente.
- Para eliminar un secreto de cliente, haga clic en junto al secreto de cliente.
- Haga clic en Cerrar.
Crear una aplicación cliente OAuth para acceder a Qlik Cloud
Una vez que haya registrado un cliente OAuth con Qlik Cloud, puede usar el ID de cliente asociado y el secreto del cliente en su propia aplicación de cliente OAuth. Hay tutoriales disponibles en la sección OAuth del Portal para desarrolladores para crear aplicaciones cliente utilizando algunos de los lenguajes de codificación más populares.