OAuth 2.0
FlowForce Server le permite crear objetos de credencial que son detalles de autorización OAuth 2.0. Puede usar credenciales OAuth 2.0 en trabajos de FlowForce Server que hagan llamadas a servicios web para los que es necesario usar OAuth 2.0. Los usuarios pueden ver o acceder a las credenciales OAuth solo si tienen los permisos correspondientes. Para más detalles, consulte el apartado ¿Cómo funcionan los permisos?.
Para crear una credencial de OAuth 2.0, navegue hasta el contenedor en el que desea almacenar la credencial y haga clic en Crear | Crear credencial. En el campo Tipo de credencial cambie a OAuth 2.0 y rellene los campos de la credencial (ver descripción más abajo).
Acerca del flujo de trabajo OAuth 2.0
OAuth significa Open Authorization y es un marco de autorización de estándar abierto que permite a las aplicaciones acceder a un conjunto de recursos de usuario en nombre de un usuario. A continuación, enumeramos la gran variedad de procedimientos asociados con el flujo de trabajo OAuth 2.0:
1.Una aplicación de terceros (Cliente) se registra en un servidor de autorización. El servidor de autorización proporciona un ID de cliente y, si procede, un secreto de cliente.
2.El cliente indica un URI de redirección, al que se redirigirá un usuario después de conceder o denegar el permiso al cliente.
3.El usuario inicia una acción en la aplicación cliente, que requiere acceso a los recursos del usuario. Por ejemplo, puede que el usuario desee iniciar sesión en la aplicación cliente utilizando su cuenta de Facebook.
4.El cliente envía una solicitud al servidor de autorización y redirige el usuario al punto final de autorización del servidor, donde el usuario inicia sesión y concede o deniega el permiso al cliente. La solicitud del cliente al servidor de autorización contiene el ID del cliente, los privilegios solicitados y el URI de redirección.
5.Si el usuario ha concedido permiso al cliente, éste recibe una concesión de autorización e intercambia las credenciales de usuario o los detalles de autorización (esto depende del tipo de concesión) por un token de acceso y, si procede, un token de actualización.
6.A continuación, el cliente utiliza el token de acceso para acceder a los recursos del usuario en el servidor de recursos.
7.El cliente puede utilizar el token de actualización para seguir utilizando los recursos del usuario sin que éste tenga que volver a autenticarse si el token de acceso ha caducado. El hecho de que el cliente utilice o no el token de actualización depende del tipo de concesión que haya seleccionado. Para más detalles, consulte la propiedad Token de acceso más abajo.
Parámetros disponibles
Más abajo enumeramos los campos asociados con un objeto de credencial OAuth 2.0. Para obtener estos valores, primero debe registrarse con un proveedor de servicios web (como la API Console de Google, la API de Facebook, la API de Bitbucket, etc.).
Los tipos de concesión de OAuth indican cómo una aplicación cliente (en este caso FlowForce Server) comunica con el servicio OAuth y obtiene un token de acceso. Los siguientes tipos de concesión son compatibles:
•Credenciales de contraseña del propietario de recursos
Hay diferentes propiedades disponibles en función del tipo de concesión seleccionado. Para más información sobre cada propiedad, véase las opciones a continuación.
|
El punto de conexión de autorización indica un URI utilizado por el propietario de un recurso (p. ej. un usuario) para iniciar la autenticación, el consentimiento y la autorización. El punto de conexión de autorización lo facilita un servidor de autorización. Cuando FlowForce Server quiere acceder a los recursos del usuario, redirige el navegador del usuario al punto de acceso de autenticación. Tras la autenticación, el usuario decide si concede o deniega permiso a FlowForce Server. Una vez tomada la decisión de autorización, el servidor de autorización redirige al usuario a la ruta que se haya especificado en el parámetro URI de redirección.
Puede obtener este valor una vez se haya registrado con el proveedor de servicios web.
|
El punto de conexión de token es una ubicación en la que una aplicación cliente (en este caso FlowForce Server) solicita un token de acceso a cambio de ciertas credenciales o detalles de autorización. Puede obtener este valor una vez se haya registrado con el proveedor de servicios web.
|
El ID del cliente es un identificador público de una aplicación cliente (FlowForce Server en este caso). El ID del cliente lo emite un servidor de autorización. El servidor de autorización utiliza el ID y el secreto del cliente (ver secciones más abajo) para verificar su identidad. Puede obtener este valor una vez se haya registrado con el proveedor de servicios web.
|
El secreto del cliente es información confidencial que una aplicación cliente (en este caso FlowForce Server) utiliza para la autenticación. El secreto del cliente lo emite un servidor de autorización. El servidor de autorización utiliza el ID y el secreto del cliente para verificar su identidad. El secreto del cliente ayuda a evitar que aplicaciones no autorizadas se hagan pasar por clientes y accedan a los recursos de los usuarios. Puede obtener el secreto del cliente una vez se haya registrado con el proveedor de servicios web.
|
El alcance define la forma en que un cliente (en este caso FlowForce Server) puede acceder a los recursos de un usuario (p.ej. privilegios de lectura y escritura). Puede obtener este valor una vez se haya registrado con el proveedor de servicios web.
|
El token de acceso es un dato que el cliente (es decir, FlowForce Server) recibe de un servidor de autorización una vez que el proceso de autorización se haya completado con éxito. El token de acceso permite a FlowForce Server acceder a los recursos del usuario. El trabajo de FlowForce Server solo se ejecuta correctamente si el servidor del recurso determina que el token de acceso es correcto y válido. Para obtener este valor manualmente la primera vez, al crear la credencial OAuth, debe introducir todos los detalles de la autorización (menos el valor Token de actualización) y hacer clic en Autorizar y guardar.
Cómo actualizar tokensEl token de acceso expira pasado el periodo de tiempo estipulado por el proveedor de servicios. Los procedimientos para actualizar tokens pueden variar en función del tipo de concesión que haya seleccionado. Si el token ha caducado y anteriormente se ha seleccionado el tipo de concesión ‘Código de autorización’ o ‘Implícito’, FlowForce Server solicitará uno nuevo al servidor de autorización, usando el valor Token de actualización (ver a continuación).
Si el token ha caducado y anteriormente se ha seleccionado el tipo de concesión ‘Credenciales de cliente’ o ‘Credenciales de contraseña del propietario de recursos’, FlowForce Server intentará obtener uno nuevo, enviando una solicitud al punto de conexión del token. Para obtener con éxito el token, debe indicar toda la información de autorización pertinente (p. ej., ID del cliente, secreto del cliente, etc.).
|
Por razones de seguridad los tokens de acceso (ver más arriba) caducan al cabo de poco tiempo. El tiempo de expiración de un token de acceso lo determina un servidor de autorización. Si el servidor de autorización admite tokens de actualización, éste se proporcionará junto con un token de acceso durante el proceso de autorización. Para más información sobre cómo actualizar tokens, consulte la sección Token de acceso más arriba.
|
Los campos Nombre de usuario y Contraseña aparecen al seleccionar el tipo de concesión Credenciales de contraseña del propietario de recursos. En este tipo de concesión, la aplicación cliente intercambia directamente las credenciales del usuario (nombre de usuario y contraseña) por un token de acceso y, en su caso, un token de actualización. Una vez que el cliente haya obtenido las credenciales del usuario, enviará una solicitud POST al servidor de autorización. Si la solicitud se ha realizado con éxito, el servidor de autorización emitirá un token de acceso con el cual el cliente podrá acceder a los recursos del usuario.
|
Un URI de redirección es una ubicación en la que se accede a FlowForce Server y a la que el servidor de autorización redirige al usuario después de que éste haya concedido o denegado el permiso al cliente (p.ej., FlowForce Server). También es la ubicación a la que el servidor de autorización envía el código de autorización necesario para obtener un token de acceso. Este campo lo rellena FlowForce Server automáticamente.
Asegúrese de copiar el URI y añadirlo a la lista de URI de redirección permitidos en la plataforma en la que registre su aplicación cliente. Puesto que es posible acceder a FlowForce Server desde diferentes direcciones y puertos, asegúrese de añadir todos estos URI a dicha lista.
|
La autenticación del cliente hace referencia al proceso de verificación de la identidad de una aplicación cliente (p.ej., FlowForce Server) por parte de un servidor de autorización. Este servidor decide pues si concede o deniega al cliente el permiso para obtener un token de acceso del punto de conexión de token. La autenticación del cliente garantiza que el servidor de autorización emita un token de acceso sólo a un cliente legítimo.
La mayoría de los servidores OAuth 2.0 requieren que los detalles de autenticación se incluyan en el encabezado AUTH de la solicitud POST. Algunos servidores de autorización OAuth 2.0 aceptan los detalles autenticación únicamente en el cuerpo de la solicitud POST. Dependiendo de los requisitos del servidor de autorización, seleccione la opción relevante en la lista desplegable.
|
Para más información sobre las opciones Permitir el uso de, consulte Tipo de credencial: Contraseña. Si desea usar una credencial OAuth 2.0 para HTTP, asegúrese de marcar la casilla de verificación Permitir uso de HTTP. De lo contrario no se podrá realizar la acción.
Una vez seleccionado el tipo de concesión correspondiente y rellenados todos los campos necesarios, puede simplemente guardar la credencial (botón Guardar) o iniciar la autorización y guardar el objeto de credencial (botón Autorizar y guardar). Al seleccionar la opción Autorizar y guardar, FlowForce Server redirigirá el navegador a la página de autorización del servicio (sólo es relevante para los tipos de concesión Código de autorización e Implícito) o intentará obtener un token de acceso desde un servicio externo y guardar el token de acceso junto con los cambios en el objeto de credencial. Una vez obtenido el token de acceso y, en su caso, un token de actualización, la página de credenciales se actualizará y le informará de que se ha concedido la autorización.