Credenciales OAuth 2.0
Para ejecutar una asignación que necesite autorización OAuth 2.0 debe crear una credencial OAuth 2.0 con el Gestor de credenciales, rellenar los detalles OAuth 2.0 y seguir el proceso de autorización manual que se describe a continuación. El cuadro de diálogo Agregar/Editar credencial que se ve a continuación aparece cuando se crea una credencial OAuth 2.0 nueva o se edita una credencial OAuth 2.0 que ya existe. Para información sobre cada propiedad, véase las secciones Parámetros disponibles a continuación.
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 MapForce) 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 MapForce 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 MapForce. 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 MapForce) 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 (MapForce 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 MapForce) 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 MapForce) 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, MapForce) 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 MapForce acceder a los recursos del usuario. La asignación de datos solo se ejecuta correctamente si el servidor del recurso determina que el token de acceso es correcto y válido. Este token expira pasado el periodo de tiempo estipulado por el proveedor de servicios. Para poder actualizar el token, se deben cumplir ciertas condiciones (ver detalles en la sección ‘Cómo actualizar tokens’ más abajo).
|
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 subsección Cómo actualizar tokens más abajo.
|
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.
|
La sección Autorización proporciona información sobre un URI de redirección y le permite especificar cómo introducir los detalles de autenticación.
URI de redirecciónUn URI de redirección es una ubicación 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., MapForce). 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. Por defecto, MapForce designa automáticamente un URI para comunicarse con el servidor de autorización. Si el servidor de autorización otro puerto diferente, marque la casilla Puerto específico e introduzca el nombre de puerto deseado.
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.
Autenticación del punto de conexión de tokenLa autenticación del punto de conexión de token (o autenticación del cliente) hace referencia al proceso de verificación de la identidad de una aplicación cliente (p.ej., MapForce) 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 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.
|
Una vez haya rellenado los campos anteriores, haga clic en Solicitar token de acceso para obtener un token de acceso necesario para ejecutar la asignación. Cómo se realiza la autorización exactamente depende del proveedor de servicios web y del tipo de concesión. Por ejemplo, si ha seleccionado el tipo de concesión ‘Código de autorización’, en el proceso de autorización se suele requerir que confirme manualmente en una ventana del explorador web que da permiso al servicio web para establecer su identidad (p.ej. con su cuenta de Google, en caso de que la asignación llama a la API de Google). Al final del proceso MapForce muestra un mensaje de confirmación informando de que se ha obtenido el token de acceso del servidor.
Observe que el token de acceso se guarda solamente si marca la casilla Guardar credencial cifrada en el archivo MFD (consulte el apartado Credenciales). Si no marcó la casilla Guardar credencial cifrada en el archivo MFD tendrá que dar su autorización manualmente cada vez que ejecute la asignación.
Cómo actualizar tokens
Es posible que el token de acceso expira al cabo de un tiempo determinado. De todas maneras, el tiempo de expiración del token depende del proveedor de servicios web. Es posible que el proveedor de servicios web revoque de forma explícita el token de acceso. En este caso aparecerán errores de autorización en la ventana Mensajes cuando intente acceder a la vista previa de la asignación.
Tenga en cuenta que MapForce no actualiza los tokens OAuth 2.0. Si el token de acceso ha expirado, puede solicitar un nuevo token de acceso independientemente del tipo de concesión. Para ello, haga clic en el botón Solicitar token de acceso y vuelva a pasar por el proceso de autorización para poder ejecutar la asignación. Si ejecuta su asignación bajo la gestión de FlowForce Server, el servidor intentará actualizar el token en determinadas circunstancias que también dependen del tipo de concesión que haya seleccionado (véase las subsecciones a continuación).
El tipo de concesión ‘Código de autorización’
Si ejecuta su asignación bajo la gestión de FlowForce Server y anteriormente ha configurado el tipo de concesión ‘Código de autorización’, el servidor sólo intentará actualizar el token si se cumplen estas condiciones:
•Es necesario implementar en FlowForce Server toda asignación que usa una credencial OAuth 2.0.
•Es necesario implementar en FlowForce Server toda credencial OAuth 2.0 que se usa en la asignación. Si lo prefiere, también puede crear esta credencial OAuth 2.0 directamente en FlowForce Server.
•Un trabajo de FlowForce que ejecute la asignación debe hacer referencia a la credencial OAuth 2.0 relevante que haya implementado o creado previamente en FlowForce Server (imagen siguiente). De este modo, la credencial OAuth 2.0 estará vinculada al paso de asignación.
•El valor Token de actualización de la credencial OAuth 2.0 en FlowForce Server no puede estar vacío y debe ser válido.
Los tipos de concesión ‘Credenciales de cliente’ y ‘Credenciales de contraseña del propietario de recursos’
Si ha configurado el tipo de concesión ‘Credenciales de cliente’ o ‘Credenciales de contraseña del propietario de recursos’, el servidor sólo intentará obtener otro token nuevo si se cumplen estas condiciones:
•Es necesario indicar toda la información de autorización del tipo de concesión seleccionado (p. ej., ID del cliente, secreto del cliente, etc.).
•Es necesario implementar en FlowForce Server toda asignación que usa una credencial OAuth 2.0.
•Es necesario implementar en FlowForce Server toda credencial OAuth 2.0 que se usa en la asignación. Si lo prefiere, también puede crear esta credencial OAuth 2.0 directamente en FlowForce Server.
•Un trabajo de FlowForce que ejecute la asignación debe hacer referencia a la credencial OAuth 2.0 relevante que haya implementado o creado previamente en FlowForce Server (imagen anterior). De este modo, la credencial OAuth 2.0 estará vinculada al paso de asignación.
Si el token ha caducado, FlowForce Server intentará obtener uno nuevo, enviando una solicitud al punto de conexión del token.