Índice
Objetivo
Este documento se direcciona a desarrolladores que desean crear aplicaciones externas al Fluig. El Fluig posee una API Pública con los principales servicios disponibles en la plataforma. A través de esta API es posible crear mensajes en nombre del usuario, agregar contacto como favorito, crear artículos y mucho más. Para que las aplicaciones puedan actuar en nombre del usuario, la autorización se realiza a través del protocolo OAuth.
API
API, de Application Programming Interface (Interfaz de Programación de Aplicaciones) es un conjunto de rutinas y estándares establecidos por el software para que aplicaciones externas puedan utilizar sus recursos en sus aplicaciones.
En el Fluig, la documentación de la API está disponible en http://<FluigServer>/api o aquí.
Todos los servicios se basan en REST, donde acciones de escritura se limitan a las solicitudes HTTP del tipo POST, y acciones de consulta a solicitudes del tipo GET.
Observación
Disponible a partir de la versión 1.1 del Fluig
OAuth
La autenticación y autorización de aplicaciones externas al Fluig se realiza a través del protocolo OAuth 1.0 y OAuth 1.0a , que posibilita que las aplicaciones ejecuten acciones en nombre del usuario sin almacenar sus datos de acceso (usuario/contraseña). También es posible utilizar la API del Fluig a través de una sesión válida, en el navegador de internet.
Observación
El Fluig no es compatible con el protocolo OAuth 2.0
Proceso de autenticación:
Para que una aplicación consiga actuar en el Fluig en nombre de un usuario o en nombre propio es necesario que el mismo esté previamente registrado en la plataforma Fluig con sus claves pública y privada. Cuando la aplicación está previamente registrada en el Fluig es posible iniciar el proceso de autenticación conforme a las etapas a seguir:
- Etapa 1: La aplicación solicita al Fluig token que inicie una sesión OAuth (http://<ServerFluig>/portal/api/rest/oauth/request_token)
- Etapa 2: La aplicación solicita autorización del usuario a través de login y contraseña (http://<ServerFluig>/portal/api/rest/oauth/authorize)
- Etapa 3: La aplicación solicita al Fluig tokens para actuar en nombre del usuario (http://<ServerFluig>/portal/api/rest/oauth/access_token)
Observación
Para utilizarla, la aplicación debe estar previamente registrada en el Fluig.
Registrar aplicación en el Fluig
Para registrar una aplicación en el Fluig haga el login como Administrador del Fluig.
Siga los siguientes pasos:
Ir a: Panel de control/WCM/Provider Oauth
Figura 2 - Panel administrativo Fluig
Haga clic en agregar y rellene los campos conforme a la imagen:
Figura 3 - Registro de proveedor Oauth
Detalles:
Campo.EjemploCódigo 01 OAuth Provider WCM Descripción Aplicación de ejemplo Acess Token URL http://<ServerFluig>/portal/api/rest/oauth/access_token
Request Token URL http://<ServerFluig>/portal/api/rest/oauth/request_token
User Authorization URL http://<ServerFluig>/portal/api/rest/oauth/authorize Request Method GET Signature Method HMAC-SHA1
Regrese al panel de control y vaya a: Panel de control/WCM/Oauth App
Haga clic en agregar y rellene los campos conforme a la imagen:
Figura 4 - Registro de aplicación Oauth
Detalles:
Campos
|
Ejemplo
|
---|---|
Consumer Key | <clave pública de su aplicación> |
OAuth Provider | Proveedor registrado en el Paso 2 |
Consumer Secret | <clave secreta de su aplicación> |
- Opcional: En el caso que su aplicación ejecute acciones en nombre propio, usted puede crear un usuario aplicación. En la misma pantalla de registro de aplicación existe una acción “Usuario Aplicación”, al acceder la misma se generarán tokens exclusivos para la aplicación. En el caso que las acciones de su aplicación se deban ejecutar en nombre de un usuario, entonces la aplicación debe pasar por el proceso estándar de autenticación OAuth.
Figura 5 - usuario aplicación
Aplicación de Ejemplo
Existe una aplicación desarrollada por el equipo del Fluig que muestra cómo usar la API. La aplicación está desarrollada en Java. Usted debe poseer el JDK 1.7 instalado para ejecutar la aplicación. La gestión de build y de dependencias es realizada por el Maven, entonces es obligatorio tenerlo instalado en el ambiente de desarrollo que se utilizará.
Descargue el archivo y descomprímalo en un directorio de su preferencia.
El proyecto básicamente consiste en un pom.xml (Project Object Model, archivo estándar del Maven) y una clase Java llamada FluigClientExample
. Abrir la clase y comprobar la documentación generada de comentarios. Usted verá que es necesario construir un objeto FluigClient
y este objeto recibe algunos parámetros como host, consumer key y consumer secret. Usted debe modificar los valores pasados en la construcción para un host conocido e informar el consumer key y secret de la aplicación de su responsabilidad, conforme al código a seguir:
FluigClient fluig = new FluigClient() .setHost("http://127.0.0.1:8080") .setConsumerKey("informe aquí su consumer key") .setConsumerSecret("informe aquí su consumer secret") .connect();
Más abajo en el código, podemos reparar que la aplicación crea y lee posts de comunidades. Usted debe informar una comunidad válida de su ambiente para ejecutar la aplicación demostración;
String comunidadeAlias = "coloque_aqui_alias_de_alguma_comunidade";
Después de realizar las modificaciones, entre en el directorio generado y usted notará que el archivo pom.xml se localiza en la raíz del proyecto.
Para realizar el build del proyecto, digite:
$ mvn clean install
Durante el proceso de build el Maven exhibirá varios logs, como dependencias que se descargan, entre otros.
Después del build finalizado con éxito, fíjese que el archivo target/api-client-demo-jar-with-dependencies.jar
se generó, este archivo es un ejecutable Java. Para ejecutarlo digite el comando:
$ java -jar target/api-client-demo-jar-with-dependencies.jar
Si usted se fija en la clase FluigClientExample
, la ejecución: listará los usuarios, creará una publicación en la página personal del usuario, crear una publicación en una comunidad y listar las publicaciones de una comunidad. Durante la ejecución los logs de los resultados de las llamadas se exhibirán en la consola.